[ https://issues.apache.org/jira/browse/JCR-688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462989 ]
Jukka Zitting commented on JCR-688: ----------------------------------- > The call resolver.getQName(name) within CachingNameResolver.getQName() is in > a synchronized(this).Can this be change in a way that multiple thread can > resolve > names concurrently? I think so. The reason for the synchronization is to guard access to the "young" generation maps that gets modified. I think it would be enough to make just the "young" map and the increaseGenerationAge() method synchronized. I'll take a look at this later today. > Improve name resolution > ----------------------- > > Key: JCR-688 > URL: https://issues.apache.org/jira/browse/JCR-688 > Project: Jackrabbit > Issue Type: Improvement > Components: core > Reporter: Jukka Zitting > Priority: Minor > Fix For: 1.3 > > Attachments: JCR-688.LocalCache.patch, JCR-688.NameResolver.patch > > > As discussed in JCR-685, the current CachingNamespaceResolver class contains > excessive synchronization causing monitor contention that reduces performance. > In JCR-685 there's a proposed patch that replaces synchronization with a > read-write lock that would allow concurrent read access to the name cache. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira