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 am...@apache.org on 2018/09/24 04:28:31 UTC

svn commit: r1841793 - in /jackrabbit/oak/trunk/oak-store-composite/src: main/java/org/apache/jackrabbit/oak/composite/InitialContentMigrator.java test/java/org/apache/jackrabbit/oak/composite/InitialContentMigratorTest.java

Author: amitj
Date: Mon Sep 24 04:28:30 2018
New Revision: 1841793

URL: http://svn.apache.org/viewvc?rev=1841793&view=rev
Log:
OAK-7776: Ignore copying of :clusterConfig in InitialContentMigrator

- Ignoring the :clusterConfig while copying

Modified:
    jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/InitialContentMigrator.java
    jackrabbit/oak/trunk/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/InitialContentMigratorTest.java

Modified: jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/InitialContentMigrator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/InitialContentMigrator.java?rev=1841793&r1=1841792&r2=1841793&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/InitialContentMigrator.java (original)
+++ jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/InitialContentMigrator.java Mon Sep 24 04:28:30 2018
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.compos
 
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
@@ -43,12 +44,16 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import static org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo.CLUSTER_CONFIG_NODE;
+
 public class InitialContentMigrator {
 
     private static final int LOG_NODE_COPY = Integer.getInteger("oak.upgrade.logNodeCopy", 10000);
 
     private static final String CLUSTER_ID = System.getProperty("oak.composite.seed.clusterId", "1");
 
+    private static final Set<String> DEFAULT_IGNORED_PATHS = ImmutableSet.of("/" + CLUSTER_CONFIG_NODE);
+
     private static final Logger LOG = LoggerFactory.getLogger(InitialContentMigrator.class);
 
     private final NodeStore targetNodeStore;
@@ -74,13 +79,13 @@ public class InitialContentMigrator {
         this.excludeFragments = ImmutableSet.of(seedMount.getPathFragmentName());
 
         if (seedMount instanceof MountInfo) {
-            this.excludePaths = ((MountInfo) seedMount).getIncludedPaths();
+            this.excludePaths = Sets.union(((MountInfo) seedMount).getIncludedPaths(), DEFAULT_IGNORED_PATHS);
             this.fragmentPaths = new HashSet<>();
             for (String p : ((MountInfo) seedMount).getPathsSupportingFragments()) {
                 fragmentPaths.add(stripPatternCharacters(p));
             }
         } else {
-            this.excludePaths = FilteringNodeState.NONE;
+            this.excludePaths = DEFAULT_IGNORED_PATHS;
             this.fragmentPaths = FilteringNodeState.ALL;
         }
     }

Modified: jackrabbit/oak/trunk/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/InitialContentMigratorTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/InitialContentMigratorTest.java?rev=1841793&r1=1841792&r2=1841793&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/InitialContentMigratorTest.java (original)
+++ jackrabbit/oak/trunk/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/InitialContentMigratorTest.java Mon Sep 24 04:28:30 2018
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.composite;
 
+import static org.apache.jackrabbit.oak.spi.cluster.ClusterRepositoryInfo.CLUSTER_CONFIG_NODE;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -24,7 +25,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
@@ -73,6 +73,10 @@ public class InitialContentMigratorTest
         seed.merge(root, EmptyHook.INSTANCE, CommitInfo.EMPTY);
         
         MemoryNodeStore target = new MemoryNodeStore();
+        NodeBuilder targetRootBuilder = target.getRoot().builder();
+        targetRootBuilder.child(CLUSTER_CONFIG_NODE);
+        target.merge(targetRootBuilder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
+
         MountInfoProvider mip = Mounts.newBuilder().mount("seed", "/first").build();
         
         // perform migration
@@ -85,7 +89,8 @@ public class InitialContentMigratorTest
         assertFalse("Node /first should not have been migrated", targetRoot.hasChildNode("first"));
         assertTrue("Node /second should have been migrated", targetRoot.hasChildNode("second"));
         assertTrue("Node /third should have been migrated", targetRoot.hasChildNode("third"));
-        
+        assertTrue(CLUSTER_CONFIG_NODE  + " should be retained", targetRoot.hasChildNode(CLUSTER_CONFIG_NODE));
+
         // verify that the 'second' node is visible in the migrated store when retrieving the checkpoint
         NodeState checkpointTargetRoot = target.retrieve(checkpoint1);
         assertFalse("Node /first should not have been migrated", checkpointTargetRoot.hasChildNode("first"));