jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (JCR-2546) SISM blocks the item state cache when loading a new item
Date Wed, 31 Mar 2010 12:48:27 GMT

     [ https://issues.apache.org/jira/browse/JCR-2546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jukka Zitting resolved JCR-2546.
--------------------------------

    Resolution: Fixed

In revision 929506 I narrowed down the synchronization in getNonVirtualItemState to only cover
the loading of new items in cases where a cache miss has occurred. Concurrent threads will
now be able to continue accessing items in the cache while new items
are being loaded from the persistence manager.

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


Mime
View raw message