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

Michael Dürig resolved OAK-3055.
--------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: 1.3.5)
                   1.3.3

Replaced the segment cache with a LIRS implementation at 
http://svn.apache.org/r1691219. In addition http://svn.apache.org/r1691220 
exposes the {{CacheStatsMBean}} for this new cache. 

I can confirm that this in conjunction with OAK-3007 considerably reduces the 
observer lock contention.


> Improve segment cache in SegmentTracker
> ---------------------------------------
>
>                 Key: OAK-3055
>                 URL: https://issues.apache.org/jira/browse/OAK-3055
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segmentmk
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>              Labels: resilience, scalability
>             Fix For: 1.3.3
>
>         Attachments: OAK-3055.patch
>
>
> The hand crafted segment cache in {{SegmentTracker}} is prone to lock 
> contentions in concurrent access scenarios. As {{SegmentNodeStore#merge}} 
> might also end up acquiring this lock while holding the commit semaphore the 
> situation can easily lead to many threads being blocked on the commit 
> semaphore. The {{SegmentTracker}} cache doesn't differentiate between read 
> and write access, which means that reader threads can block writer threads. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to