On 3 Oct 2010, at 13:16, Jukka Zitting wrote:

> Hi,
> 
> On Sun, Oct 3, 2010 at 12:51 PM, Ian Boston <[email protected]> wrote:
>>  Just in case it helps, I have commented and attached patches for the partial
>> solution that I am working on which eliminate blocking by simply not sharing
>> the SystemSession in the AccessControlProvider.
> 
> Excellent, thanks!
> 
> BR,
> 
> Jukka Zitting


For posterity:
One other fix mentioned on the jira was to remove synchronisation from the 
cache surrounding the LRUMap in the AbrstractPrincipalProvider, and protect the 
operation from failure with try {} catch {} (LRUMap throws NPE on concurrent 
access). 

This has now freed our code base up to the extent that read concurrency is 
being limited by the SharedItemManager, however we still are limited to around 
1000 requests per second regardless of number of cores, indicating although 
faster, its still single threaded. What I don't know is if being fast but 
single threaded is good enough to support the number of users we have to 
support per JVM.

Jukka, 
Do you think your work on JCR-2699 will make reads truly concurrent with no 
blocking or will there always be a part of the code base that is essentially 
single threaded? 
I ask because this might become a deal breaker for us, and I would rather not 
raise expectations, or ask too for too much from the Jackrabbit community, if 
our usage of Jackrabbit  is not going to match the aims of Jackrabbit.

Thanks
Ian

Reply via email to