[ 
https://issues.apache.org/jira/browse/OAK-6876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chetan Mehrotra resolved OAK-6876.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.7.11

> 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, 1.7.11
>
>
> {{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)

Reply via email to