[ 
https://issues.apache.org/jira/browse/JCR-3775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jukka Zitting resolved JCR-3775.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.8

It turns out that an even simpler fix of just keeping a flyweight instance of 
the GMT time zone works just as well since the vast majority of timestamps in 
the repository are normalized to GMT.

Fixed in revision 1590123.

> Avoid lock contention in ISO8601.parse()
> ----------------------------------------
>
>                 Key: JCR-3775
>                 URL: https://issues.apache.org/jira/browse/JCR-3775
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-jcr-commons
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>             Fix For: 2.8
>
>
> The ISO8601.parse() method calls the synchronized TimeZone.getTimeZone() 
> method, which causes lock contention in concurrent code that frequently 
> parses ISO8601 strings.
> To avoid the synchronization, we could use a static flyweight map of all 
> known time zones, and only fall back to the getTimeZone() method if some 
> unknown time zone is encountered.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to