jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-5557) incomplete diffManyChildren during commitHook evaluation in a persisted branch
Date Thu, 02 Feb 2017 12:33:51 GMT

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

Marcel Reutegger commented on OAK-5557:
---------------------------------------

Stefan and I analyzed this issue a bit more today and {{diffManyChildren()}} indeed doesn't
work correctly when one of the revisions is from a branch that has been rebased beyond the
5 second resolution of the {{_modified}} timestamp. The issue was most likely introduced with
OAK-2131. With this change documents that have explicit changes are not tracked anymore in
a branch and {{Branch.getModifiedPathsUntil(Revision)}} will not return them. This method
is used in {{diffManyChildren()}} to find additional candidates for changes.

> incomplete diffManyChildren during commitHook evaluation in a persisted branch
> ------------------------------------------------------------------------------
>
>                 Key: OAK-5557
>                 URL: https://issues.apache.org/jira/browse/OAK-5557
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>    Affects Versions: 1.2.14, 1.2.23
>         Environment: 'easily' reproducible on 1.2.14
> 'takes longer to' reproduce on 1.2.23
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>         Attachments: DocumentNodeStoreBranchesTest.java, DocumentNodeStoreBranchesTest.java
>
>
> In oak 1.2 when doing a diffManyChildren as part of running the CommitHooks as part of
a branch commit, not all child paths are taken into account in some cases.
> The problem seems to be related to the [{{_modified}} calculation|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.2.14/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java#L2242]
when doing the query for affected child paths. It seems [that {{minValue}}|https://github.com/apache/jackrabbit-oak/blob/jackrabbit-oak-1.2.14/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java#L2242]
is not correctly calculated when doing {{compareAgainstBaseState}} as part of a persisted
branch.
> Note that the problem can be reproduced very good on 1.2.14, less good but still on the
latest 1.2 and not in trunk (ie almost 1.6.0).
> Attaching a test case to reproduce



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message