[ 
https://issues.apache.org/jira/browse/JCR-2546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882932#action_12882932
 ] 

nihongye commented on JCR-2546:
-------------------------------

ItemStateReferenceCache is thread safe,for JMM happen-before rule:

// put it in cache
cache.cache(state);
// set parent container
state.setContainer(this);

the statments must be revert:

state.setContainer(this);
cache.cache(state);

> SISM blocks the item state cache when loading a new item
> --------------------------------------------------------
>
>                 Key: JCR-2546
>                 URL: https://issues.apache.org/jira/browse/JCR-2546
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Assignee: Jukka Zitting
>             Fix For: 2.1.0
>
>
> The SharedItemStateManager.getNonVirtualItemState() method contains a 
> loadItemState() call within a "synchronized (cache)" block. This prevents all 
> item state cache access while a new item is being loaded from the persistence 
> manager. I have at least one case where this has caused a serious performance 
> drop, essentially synchronizing repository access for all readers.

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