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 2014/03/19 23:10:42 UTC
[jira] [Comment Edited] (OAK-1553) More sophisticated conflict
resolution when concurrently adding nodes
[ https://issues.apache.org/jira/browse/OAK-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13941067#comment-13941067 ]
Michael Dürig edited comment on OAK-1553 at 3/19/14 10:10 PM:
--------------------------------------------------------------
Attached patch implements the more sophisticated merging for {{AbstractRebaseDiff}} (in memory implementation) as sketched above. All test cases still pass and {{UserManagerImplTest#testConcurrentCreateUser}} from OAK-1541 also passes.
was (Author: mduerig):
Attached patch implements the more sophisticated merging for {{AbstractRebaseDiff}} (in memory implementation) as sketched above. All test cases still pass.
> More sophisticated conflict resolution when concurrently adding nodes
> ---------------------------------------------------------------------
>
> Key: OAK-1553
> URL: https://issues.apache.org/jira/browse/OAK-1553
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core, mk, mongomk, segmentmk
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Fix For: 0.20
>
> Attachments: OAK-1553.patch
>
>
> {{MicroKernel.rebase}} currently specifies: "addExistingNode: A node has been added that is different from a node of them same name that has been added to the trunk."
> This is somewhat troublesome in the case where the same node with different but non conflicting child items is added concurrently:
> {code}
> f.add("fo").add("u1"); commit();
> f.add("fo").add("u2"); commit();
> {code}
> currently fails with a conflict because {{fo}} is not the same node for the both cases. See discussion http://markmail.org/message/flst4eiqvbp4gi3z
--
This message was sent by Atlassian JIRA
(v6.2#6252)