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

Chetan Mehrotra commented on OAK-4403:
--------------------------------------

I test the test on trunk and 1.4 and it passes fine. However it fails on 1.2 
branch. So looks like bug exist on previous branches 

{noformat}
java.lang.AssertionError: 
Expected: not a collection containing "/etc/x"
     but: was <[/etc, /content, /etc/z, /etc/x, /etc/y, /var/x, /content/b, 
/content/a, /content/e, /, /var]>
Expected :not a collection containing "/etc/x"
{noformat}

> Diff traversal in persisted branch commit traversing to unrelated paths
> -----------------------------------------------------------------------
>
>                 Key: OAK-4403
>                 URL: https://issues.apache.org/jira/browse/OAK-4403
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: documentmk
>            Reporter: Chetan Mehrotra
>            Assignee: Marcel Reutegger
>             Fix For: 1.6, 1.5.13
>
>
>  With DocumentNodeStore when a commit involves a persisted branch the diff 
> logic traverses to those paths which are not affected by the current commit. 
> For e.g. in following flow
> # Commit C1 (base rev R1) - Starts and modifies paths under /content. The 
> number of changes done exceed the update.limit and hence the in memory branch 
> transitions to Persisted state
> # Before C1 commits another commit C2 starts and modified paths under /etc 
> and /var
> # C2 commits (before C1). Head revision R2
> # C1 commits and perform the merge. Revision moves to R3
> Now at #4 the merge would trigger a diff which should normally traverse and 
> perform diff for those paths which are modified by C1. However currently it 
> seems to also perform diff on all those paths which have been modified after 
> R1 and R3. In doing so it would traverse the complete sub trees of such 
> paths. Note that functionally the end result is same just that too many extra 
> nodes are read which would put load on system
> If the number of changes are reduced such that persisted branch is not 
> created then diff only reads those parts which are modified by the current 
> commit.



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

Reply via email to