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/01/30 08:41:00 UTC
[jira] [Created] (OAK-8014) Commits carrying over from previous GC
generation can block other threads from comitting
Michael Dürig created OAK-8014:
----------------------------------
Summary: Commits carrying over from previous GC generation can block other threads from comitting
Key: OAK-8014
URL: https://issues.apache.org/jira/browse/OAK-8014
Project: Jackrabbit Oak
Issue Type: Improvement
Components: segment-tar
Affects Versions: 1.8.11, 1.10.0
Reporter: Michael Dürig
Assignee: Michael Dürig
Fix For: 1.8.12
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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)