Author: tomekr
Date: Tue Sep  6 11:31:06 2016
New Revision: 1759411

URL: http://svn.apache.org/viewvc?rev=1759411&view=rev
Log:
OAK-4762: Rebuild indexes only for partial sidegrades

Modified:
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionCopier.java
    
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java?rev=1759411&r1=1759410&r2=1759411&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositorySidegrade.java
 Tue Sep  6 11:31:06 2016
@@ -311,9 +311,8 @@ public class RepositorySidegrade {
             hooks.addAll(customCommitHooks);
         }
 
-        markIndexesToBeRebuilt(targetRoot);
-
         if (!isCompleteMigration()) {
+            markIndexesToBeRebuilt(targetRoot);
             // type validation, reference and indexing hooks
             hooks.add(new EditorHook(new CompositeEditorProvider(
                     createTypeEditorProvider(),

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java?rev=1759411&r1=1759410&r2=1759411&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/RepositoryUpgrade.java
 Tue Sep  6 11:31:06 2016
@@ -151,7 +151,7 @@ public class RepositoryUpgrade {
 
     private static final Logger logger = 
LoggerFactory.getLogger(RepositoryUpgrade.class);
 
-    private static final Set<String> INDEXES_TO_REBUILD = 
ImmutableSet.of("counter");
+    private static final Set<String> INDEXES_TO_REBUILD = 
ImmutableSet.of("counter", "uuid");
 
     public static final Set<String> DEFAULT_INCLUDE_PATHS = ALL;
 

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionCopier.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionCopier.java?rev=1759411&r1=1759410&r2=1759411&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionCopier.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionCopier.java
 Tue Sep  6 11:31:06 2016
@@ -22,9 +22,7 @@ import static org.apache.jackrabbit.JcrC
 import java.util.Calendar;
 import java.util.Iterator;
 
-import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
-import org.apache.jackrabbit.oak.plugins.index.IndexUtils;
 import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
 import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
@@ -33,7 +31,6 @@ import org.apache.jackrabbit.oak.upgrade
 import org.apache.jackrabbit.oak.upgrade.nodestate.NodeStateCopier;
 import org.apache.jackrabbit.util.ISO8601;
 
-import static 
org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_PROPERTY_NAME;
 import static 
org.apache.jackrabbit.oak.plugins.version.VersionConstants.VERSION_STORE_PATH;
 
 import static 
org.apache.jackrabbit.oak.upgrade.version.VersionHistoryUtil.getRelativeVersionHistoryPath;
@@ -64,17 +61,12 @@ public class VersionCopier {
         final Iterator<NodeState> versionStorageIterator = new 
DescendantsIterator(sourceVersionStorage, 3);
         final VersionCopier versionCopier = new VersionCopier(targetRoot, 
sourceVersionStorage, targetVersionStorage);
 
-        boolean versionsCopied = false;
         while (versionStorageIterator.hasNext()) {
             final NodeState versionHistoryBucket = 
versionStorageIterator.next();
             for (String versionHistory : 
versionHistoryBucket.getChildNodeNames()) {
-                versionsCopied |= 
versionCopier.doCopyVersionHistory(versionHistory, config.getOrphanedMinDate());
+                versionCopier.copyVersionHistory(versionHistory, 
config.getOrphanedMinDate());
             }
         }
-
-        if (versionsCopied) {
-            versionCopier.markUuidToReindex();
-        }
     }
 
     /**
@@ -88,14 +80,6 @@ public class VersionCopier {
      * @return {@code true} if at least one version has been copied
      */
     public boolean copyVersionHistory(String versionableUuid, Calendar 
minDate) {
-        boolean copied = doCopyVersionHistory(versionableUuid, minDate);
-        if (copied) {
-            markUuidToReindex();
-        }
-        return copied;
-    }
-
-    private boolean doCopyVersionHistory(String versionableUuid, Calendar 
minDate) {
         final String versionHistoryPath = 
getRelativeVersionHistoryPath(versionableUuid);
         final NodeState sourceVersionHistory = 
getVersionHistoryNodeState(sourceVersionStorage, versionableUuid);
         final Calendar lastModified = 
getVersionHistoryLastModified(sourceVersionHistory);
@@ -127,12 +111,4 @@ public class VersionCopier {
         }
         return youngest;
     }
-
-    private void markUuidToReindex() {
-        final NodeBuilder uuidIndexDefinition = 
IndexUtils.getOrCreateOakIndex(targetRoot).getChildNode("uuid");
-        final PropertyState reindex = 
uuidIndexDefinition.getProperty(REINDEX_PROPERTY_NAME);
-        if (reindex == null || !reindex.getValue(Type.BOOLEAN)) {
-            uuidIndexDefinition.setProperty(REINDEX_PROPERTY_NAME, true);
-        }
-    }
 }

Modified: 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java?rev=1759411&r1=1759410&r2=1759411&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java
 Tue Sep  6 11:31:06 2016
@@ -19,7 +19,6 @@ package org.apache.jackrabbit.oak.upgrad
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.commons.PathUtils;
-import org.apache.jackrabbit.oak.plugins.nodetype.NodeTypeConstants;
 import org.apache.jackrabbit.oak.plugins.nodetype.TypePredicate;
 import org.apache.jackrabbit.oak.plugins.version.ReadWriteVersionManager;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;


Reply via email to