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 2019/04/15 07:04:00 UTC

[jira] [Updated] (OAK-8014) Commits carrying over from previous GC generation can block other threads from committing

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

Michael Dürig updated OAK-8014:
-------------------------------
    Priority: Minor  (was: Major)

> Commits carrying over from previous GC generation can block other threads from committing
> -----------------------------------------------------------------------------------------
>
>                 Key: OAK-8014
>                 URL: https://issues.apache.org/jira/browse/OAK-8014
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>    Affects Versions: 1.10.0, 1.8.11
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>            Priority: Minor
>              Labels: TarMK
>         Attachments: OAK-8014.patch
>
>
> A commit that is based on a previous (full) generation can block other commits from progressing for a long time. This happens because such a commit will do a deep copy of its state to avoid linking to old segments (see OAK-3348). Most of the deep copying is usually avoided by the deduplication caches. However, in cases where the cache hit rate is not good enough we have seen deep copy operations up to several minutes. Sometimes this deep copy operation happens inside the commit lock of {{LockBasedScheduler.schedule()}}, which then causes all other commits to become blocked.
> cc [~rma61870@adobe.com], [~edivad]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)