Marcel Reutegger created OAK-8667:
-------------------------------------

             Summary: Merge may fail when commit root is a bundled node
                 Key: OAK-8667
                 URL: https://issues.apache.org/jira/browse/OAK-8667
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: documentmk
    Affects Versions: 1.18.0, 1.16.0, 1.14.0, 1.12.0, 1.10.0, 1.8.0, 1.6.0
            Reporter: Marcel Reutegger
            Assignee: Marcel Reutegger
             Fix For: 1.20.0


Changing and merging descendant nodes of a bundled node fails when the commit 
root of the changes is located on a bundled node. The merge tries to apply the 
final commit changes on a document that does not exist (because the bundled 
node is located on an ancestor document).

The exception is misleading but looks like this:
{noformat}
Caused by: org.apache.jackrabbit.oak.plugins.document.DocumentStoreException: 
Conflicting concurrent change. Update operation failed: key: 3:/foo/bar/baz 
update {_revisions.r16d8bf18282-0-1=SET_MAP_ENTRY c, _modified=MAX 1570010920}
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:398)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStoreWithTiming(Commit.java:278)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:262)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:230)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:218) 
[org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:320)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:282)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$500(DocumentNodeStoreBranch.java:56)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
        at 
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:548)
 [org.apache.jackrabbit.oak-store-document:1.18.0]
{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to