[
https://issues.apache.org/jira/browse/JCR-2699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917313#action_12917313
]
Ian Boston commented on JCR-2699:
---------------------------------
On the last 2 points. ItemManager and DefaultAccessManager
I have found that binding AccessControlProviders to thread when they are
created in the AccessControlProviderFactoryImpl (and providing a clean up
mechanism when the thread goes) coupled with making the SystemSession a non
singleton, effectively binding it to a threa by explicitly creating a
SystemSession inside the AccessControlProviderFactoryImpl, rather than using
the reporitoryImpl.getSystemSession() method..... these measures completely
eliminate thread blocking in the ItemManager.getNode(), ItemManager.getItem and
ItemManager.getChildNodes() via the DefaultAccessManager for highly concurrent
reads where ACLs are being evaluated.
Unfortunately I now see blocking in the DefaultPrincipalManager, although this
might be due to modifications I have in my ACL Provider stack which is slightly
non standard.
Will attach a patch against my code base to illustrate and inform in a moment.
> Improve read/write concurrency
> ------------------------------
>
> Key: JCR-2699
> URL: https://issues.apache.org/jira/browse/JCR-2699
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-core
> Reporter: Jukka Zitting
> Assignee: Jukka Zitting
> Attachments: ConcurrentReadTest.png
>
>
> I'd like to set up a few performance tests to help identify our worst
> bottlenecks for various kinds of concurrent read-only and read-write access
> patterns.
> Once identified, I'm hoping to fix at least some of those bottlenecks.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.