[
https://issues.apache.org/jira/browse/OAK-4403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Davide Giannella closed OAK-4403.
---------------------------------
Bulk close for 1.5.13
> 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)