You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2017/10/27 08:26:26 UTC

svn commit: r1813481 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisabler.java test/java/org/apache/jackrabbit/oak/plugins/index/upgrade/IndexDisablerTest.java

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));