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