[ 
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)

Reply via email to