[
https://issues.apache.org/jira/browse/OAK-4403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcel Reutegger resolved OAK-4403.
-----------------------------------
Resolution: Not A Problem
Fix Version/s: 1.5.13
I think the test is too strict because it tracks find calls of /etc even if the
merge simply reads the children of the root node. I modified the test to check
if the merge really traverses into other changes and then it runs successfully.
Updated the test in trunk: http://svn.apache.org/r1768469
> 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)