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 2017/10/27 08:17:00 UTC

[jira] [Created] (OAK-6876) IndexDisabler should not use NodeBuilder#isReplaced

Chetan Mehrotra created OAK-6876:
------------------------------------

             Summary: IndexDisabler should not use NodeBuilder#isReplaced
                 Key: OAK-6876
                 URL: https://issues.apache.org/jira/browse/OAK-6876
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: indexing
            Reporter: Chetan Mehrotra
            Assignee: Chetan Mehrotra
            Priority: Minor
             Fix For: 1.8


{{IndexDisabler}} currently uses NodeBuilder#isReplaced method to check if "disableIndexesOnNextCycle" is set in current flow or not. This is used to ensure that disabling is not done in same cycle as the one where reindexing was done.

{noformat}
        //Skip disabling for the cycle where reindexing just got completed
        if (idxBuilder.isReplaced(DISABLE_INDEXES_ON_NEXT_CYCLE)){
            return emptyList();
        }
{noformat}

This method though has issues as it would return true
* If property is only modified. If property is added then it returns false
* Even if the property is not added new it may return true if base state is different object. This happens to be case with SegmentNodeStore and not with others

As a fix we should check explicitly with base state instead of using this api



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)