[jira] [Comment Edited] (OAK-1553) More sophisticated conflict resolution when concurrently adding nodes

2017-05-03 Thread Julian Reschke (JIRA)

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

Julian Reschke edited comment on OAK-1553 at 5/3/17 8:20 AM:
-

Note: in addition to the {{MicroKernel}} implementations this will also need 
fixing in {{AbstractRebaseDiff}}, which is an in-memory implementation of the 
same contract. 


was (Author: mduerig):
Note: in addition to the {{MicorKernel}} implementations this will also need 
fixing in {{AbstractRebaseDiff}}, which is an in-memory implementation of the 
same contract. 

> 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
>Reporter: Michael Dürig
>Assignee: Michael Dürig
>  Labels: concurrency, scalability, technical_debt
> 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.3.15#6346)


[jira] [Comment Edited] (OAK-1553) More sophisticated conflict resolution when concurrently adding nodes

2014-03-19 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)


[jira] [Comment Edited] (OAK-1553) More sophisticated conflict resolution when concurrently adding nodes

2014-03-19 Thread JIRA

[ 
https://issues.apache.org/jira/browse/OAK-1553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13941067#comment-13941067
 ] 

Michael Dürig edited comment on OAK-1553 at 3/19/14 10:14 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.

[~jukkaz], [~mreutegg] do you think this can also be implemented for segment, 
document node store?


was (Author: mduerig):
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.

 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)