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

Marcel Reutegger commented on OAK-2929:
---------------------------------------

I have a potential fix, but then the test {{mergeInternalDocAcrossCluster()}} 
fails. AFAICS this is expected and the test should be changes. The test 
simulates a two node cluster and does the following:

- on store1 add /:dynHidden and /:dynHidden/c node, merge but do not run 
background ops
- on store2 add /:dynHidden and merge. this succeeds because the test enables 
OAK-2673
- on store2 add /:dynHidden/b and try to merge.

The last step fails with my fix, whereas it succeeds currently. I think the 
merge should fail already now because adding the 'b' child node causes a 
modification on /:dynHidden, which conflicts with the not yet visible add node 
operation for /:dynHidden of store1. OAK-2673 only allows some combinations of 
operations to proceed concurrently.

> Parent of unseen children must not be removable
> -----------------------------------------------
>
>                 Key: OAK-2929
>                 URL: https://issues.apache.org/jira/browse/OAK-2929
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, mongomk
>    Affects Versions: 1.0.13, 1.2
>            Reporter: Vikas Saurabh
>            Assignee: Marcel Reutegger
>            Priority: Minor
>              Labels: concurrency, technical_debt
>             Fix For: 1.3.6
>
>         Attachments: IgnoredTestCase.patch
>
>
> With OAK-2673, it's now possible to have hidden intermediate nodes created 
> concurrently.
> So, a scenario like:
> {noformat}
> start -> /:hidden
> N1 creates /:hiddent/parent/node1
> N2 creates /:hidden/parent/node2
> {noformat}
> is allowed.
> But, if N2's creation of {{parent}} got persisted later than that on N1, then 
> N2 is currently able to delete {{parent}} even though there's {{node1}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to