[
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