[ 
https://issues.apache.org/jira/browse/OAK-8667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16943480#comment-16943480
 ] 

Stefan Egli commented on OAK-8667:
----------------------------------

+1 to this patch, makes sense.

I was wondering if this is the only case where this error pattern (operation on 
bundled node is applied to wrong path) occurs but am not too familiar with 
bundling implementation to estimate if any other place could be impacted.

> 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.6.0, 1.8.0, 1.10.0, 1.12.0, 1.14.0, 1.16.0, 1.18.0
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>            Priority: Major
>             Fix For: 1.20.0
>
>         Attachments: OAK-8667.patch
>
>
> 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