You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2016/09/08 11:44:21 UTC

[jira] [Updated] (OAK-4015) Expedite commits from the compactor

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

Michael Dürig updated OAK-4015:
-------------------------------
    Attachment: OAK-4015.m
                OAK-4015.pdf

Running the {{SegmentCompactionIT}} for a couple of dozen cycles against above fix and comparing the times it takes for the individual compaction cycles shows a (very) slight improvement. See [^OAK-4015.pdf]. As there is no regression, the fix is simple and might show better numbers for other cases, I will go forward with this. 

[^OAK-4015.m] contains the raw data and a Matlab script for creating the presented figures. 

> Expedite commits from the compactor
> -----------------------------------
>
>                 Key: OAK-4015
>                 URL: https://issues.apache.org/jira/browse/OAK-4015
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>              Labels: compaction, gc, perfomance
>             Fix For: Segment Tar 0.0.12
>
>         Attachments: OAK-4015-histo.png, OAK-4015-wait-time.png, OAK-4015.m, OAK-4015.pdf
>
>
> Concurrent commits during compaction cause those to be re-compacted. Currently it seems that the compaction thread can end up waiting for some time to acquire the commit lock [1], which in turn causes more commits to pile up to be re-compacted. I think this could be improved by tweaking the lock such that the compactor could jump ahead of the queue. I.e. use a lock which can be acquired in expedited mode. 
> [1] SegmentNodeStore#commitSemaphore



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