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 "Stefan Guggisberg (JIRA)" <ji...@apache.org> on 2012/10/26 16:17:12 UTC

[jira] [Updated] (OAK-407) potential lost update on merge

     [ https://issues.apache.org/jira/browse/OAK-407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Guggisberg updated OAK-407:
----------------------------------

    Description: 
as reported by mete on the oak-dev list [0]:

merging a branch may result in lost intermediate updates on trunk,
e.g. the following test case unexpectedly fails on the last 
assert:

@Test
    public void test() {
        mk.commit("", "+\"/trunk\":{}", null, "");
        mk.commit("", "+\"/trunk/child1\":{}", null, "");

        String branchRev = mk.branch(null);
        branchRev = mk.commit("", "+\"/trunk/child1/child2\":{}",
branchRev, "");

        mk.commit("", "+\"/trunk/child3\":{}", null, "");

        mk.merge(branchRev, "");

        assertTrue(mk.nodeExists("/trunk", null));
        assertTrue(mk.nodeExists("/trunk/child1", null));
        assertTrue(mk.nodeExists("/trunk/child1/child2", null));
        assertTrue(mk.nodeExists("/trunk/child3", null));
    }

[0] http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201210.mbox/%3CCCAF0D6D.1D551%25matamel%40adobe.com%3E

  was:
as reported by mete on the oak-dev list [0]:

merging a branch may result in lost intermediate updates on trunk,
e.g. the following test case unexpectedly fails on the last 
assert:

@Test
    public void test() {
        mk.commit("", "+\"/trunk\":{}", null, "");
        mk.commit("", "+\"/trunk/child1\":{}", null, "");

        String branchRev = mk.branch(null);
        branchRev = mk.commit("", "+\"/trunk/child1/child2\":{}",
branchRev, "");

        mk.commit("", "+\"/trunk/child3\":{}", null, "");

        mk.merge(branchRev, "");

        assertTrue(mk.nodeExists("/trunk", null));
        assertTrue(mk.nodeExists("/trunk/child1", null));
        assertTrue(mk.nodeExists("/trunk/child1/child2", null));
        assertTrue(mk.nodeExists("/trunk/child3", null));
    }


    
> potential lost update on merge
> ------------------------------
>
>                 Key: OAK-407
>                 URL: https://issues.apache.org/jira/browse/OAK-407
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mk
>            Reporter: Stefan Guggisberg
>            Assignee: Stefan Guggisberg
>             Fix For: 0.6
>
>
> as reported by mete on the oak-dev list [0]:
> merging a branch may result in lost intermediate updates on trunk,
> e.g. the following test case unexpectedly fails on the last 
> assert:
> @Test
>     public void test() {
>         mk.commit("", "+\"/trunk\":{}", null, "");
>         mk.commit("", "+\"/trunk/child1\":{}", null, "");
>         String branchRev = mk.branch(null);
>         branchRev = mk.commit("", "+\"/trunk/child1/child2\":{}",
> branchRev, "");
>         mk.commit("", "+\"/trunk/child3\":{}", null, "");
>         mk.merge(branchRev, "");
>         assertTrue(mk.nodeExists("/trunk", null));
>         assertTrue(mk.nodeExists("/trunk/child1", null));
>         assertTrue(mk.nodeExists("/trunk/child1/child2", null));
>         assertTrue(mk.nodeExists("/trunk/child3", null));
>     }
> [0] http://mail-archives.apache.org/mod_mbox/jackrabbit-oak-dev/201210.mbox/%3CCCAF0D6D.1D551%25matamel%40adobe.com%3E

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira