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 "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2016/05/27 04:39:12 UTC

[jira] [Commented] (OAK-4403) Diff traversal in persisted branch commit traversing to unrelated paths

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

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

Added ignored test with [1745708|http://svn.apache.org/r1745708]

> 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
>             Fix For: 1.6
>
>
>  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)