jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (Jira)" <j...@apache.org>
Subject [jira] [Commented] (OAK-8667) Merge may fail when commit root is a bundled node
Date Thu, 03 Oct 2019 14:55:01 GMT

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

Marcel Reutegger commented on OAK-8667:
---------------------------------------

The other two cases are in {{Commit.updateParentChildStatus()}} and {{Commit.updateBinaryStatus()}}.
Both look good to me. The first explicitly check for bundled nodes and for the latter, {{nodesWithBinaries}}
is populated in {{CommitDiff.setProperty()}} where bundled nodes are considered as well.

> 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
>              Labels: candidate_oak_1_10, candidate_oak_1_6, candidate_oak_1_8
>             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)

Mime
View raw message