Author: chetanm
Date: Fri Oct 27 08:26:26 2017
New Revision: 1813481

URL: http://svn.apache.org/viewvc?rev=1813481&view=rev
Log:
OAK-6876 - IndexDisabler should not use NodeBuilder#isReplaced

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisabler.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisablerTest.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisabler.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisabler.java?rev=1813481&r1=1813480&r2=1813481&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisabler.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisabler.java
 Fri Oct 27 08:26:26 2017
@@ -107,7 +107,8 @@ public class IndexDisabler {
         }
 
         //Skip disabling for the cycle where reindexing just got completed
-        if (idxBuilder.isReplaced(DISABLE_INDEXES_ON_NEXT_CYCLE)){
+        //i.e. baseState should not have DISABLE_INDEXES_ON_NEXT_CYCLE set to 
false
+        if 
(!idxBuilder.getBaseState().getBoolean(DISABLE_INDEXES_ON_NEXT_CYCLE)){
             return emptyList();
         }
 

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisablerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisablerTest.java?rev=1813481&r1=1813480&r2=1813481&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisablerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisablerTest.java
 Fri Oct 27 08:26:26 2017
@@ -60,6 +60,8 @@ public class IndexDisablerTest {
         builder.setProperty(IndexConstants.SUPERSEDED_INDEX_PATHS,
                 asList("/oak:index/fooIndex", "/oak:index/barIndex"), 
Type.STRINGS);
 
+        refreshBuilder();
+
         List<String> disabledIndexes = 
disabler.disableOldIndexes("/oak:index/foo", builder);
         assertThat(disabledIndexes, containsInAnyOrder("/oak:index/fooIndex"));
         
assertFalse(builder.getBoolean(IndexConstants.DISABLE_INDEXES_ON_NEXT_CYCLE));
@@ -69,11 +71,15 @@ public class IndexDisablerTest {
         //Check no node created for non existing node
         
assertFalse(rootBuilder.getChildNode("oak:index").getChildNode("barIndex").exists());
 
-        builder = builder.getNodeState().builder();
+        refreshBuilder();
         List<String> disabledIndexes2 = 
disabler.disableOldIndexes("/oak:index/foo", builder);
         assertTrue(disabledIndexes2.isEmpty());
     }
 
+    private void refreshBuilder() {
+        builder = builder.getNodeState().builder();
+    }
+
     /**
      * Test that indexes are not disabled in same cycle
      * as when reindexing is done
@@ -86,8 +92,6 @@ public class IndexDisablerTest {
         builder.setProperty(IndexConstants.SUPERSEDED_INDEX_PATHS,
                 asList("/oak:index/fooIndex", "/oak:index/barIndex"), 
Type.STRINGS);
 
-        builder = builder.getNodeState().builder();
-
         List<String> disabledIndexes = 
disabler.disableOldIndexes("/oak:index/foo", builder);
         assertTrue(disabledIndexes.isEmpty());
     }
@@ -97,6 +101,9 @@ public class IndexDisablerTest {
         builder.setProperty(IndexConstants.DISABLE_INDEXES_ON_NEXT_CYCLE, 
true);
         builder.setProperty(IndexConstants.SUPERSEDED_INDEX_PATHS,
                 asList("/oak:index/fooIndex/@bar"), Type.STRINGS);
+
+        refreshBuilder();
+
         List<String> disabledIndexes = 
disabler.disableOldIndexes("/oak:index/foo", builder);
         assertTrue(disabledIndexes.isEmpty());
     }
@@ -107,6 +114,9 @@ public class IndexDisablerTest {
         rootBuilder.child("oak:index").child("fooIndex");
         builder.setProperty(IndexConstants.SUPERSEDED_INDEX_PATHS,
                 asList("/oak:index/fooIndex/@bar"), Type.STRINGS);
+
+        refreshBuilder();
+
         List<String> disabledIndexes = 
disabler.disableOldIndexes("/oak:index/foo", builder);
         assertTrue(disabledIndexes.isEmpty());
     }
@@ -118,6 +128,9 @@ public class IndexDisablerTest {
         builder.setProperty(IndexConstants.DISABLE_INDEXES_ON_NEXT_CYCLE, 
true);
         builder.setProperty(IndexConstants.SUPERSEDED_INDEX_PATHS,
                 asList("/oak:index/fooIndex/@oak:BarType"), Type.STRINGS);
+
+        refreshBuilder();
+
         List<String> disabledIndexes = 
disabler.disableOldIndexes("/oak:index/foo", builder);
         assertTrue(disabledIndexes.isEmpty());
     }
@@ -130,6 +143,9 @@ public class IndexDisablerTest {
         builder.setProperty(IndexConstants.DISABLE_INDEXES_ON_NEXT_CYCLE, 
true);
         builder.setProperty(IndexConstants.SUPERSEDED_INDEX_PATHS,
                 asList("/oak:index/fooIndex/@oak:BarType"), Type.STRINGS);
+
+        refreshBuilder();
+
         List<String> disabledIndexes = 
disabler.disableOldIndexes("/oak:index/foo", builder);
         assertThat(disabledIndexes, 
containsInAnyOrder("/oak:index/fooIndex/@oak:BarType"));
         
assertFalse(builder.getBoolean(IndexConstants.DISABLE_INDEXES_ON_NEXT_CYCLE));


Reply via email to