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:34:14 UTC
[jira] [Created] (OAK-4403) Diff traversal in persisted branch
commit traversing to unrelated paths
Chetan Mehrotra created OAK-4403:
------------------------------------
Summary: 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: Improvement
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.
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)