[ 
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.

Reply via email to