Index: oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java (date 1477551936000) +++ oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/version/VersionableEditor.java (date 1477585256000) @@ -16,23 +16,6 @@ */ package org.apache.jackrabbit.oak.upgrade.version; -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.TypePredicate; -import org.apache.jackrabbit.oak.plugins.version.ReadWriteVersionManager; -import org.apache.jackrabbit.oak.spi.commit.CommitInfo; -import org.apache.jackrabbit.oak.spi.commit.DefaultEditor; -import org.apache.jackrabbit.oak.spi.commit.Editor; -import org.apache.jackrabbit.oak.spi.commit.EditorProvider; -import org.apache.jackrabbit.oak.spi.state.NodeBuilder; -import org.apache.jackrabbit.oak.spi.state.NodeState; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Collections; -import java.util.Set; - import static com.google.common.collect.ImmutableSet.of; import static com.google.common.collect.Sets.newHashSet; import static org.apache.jackrabbit.JcrConstants.JCR_BASEVERSION; @@ -48,6 +31,23 @@ import static org.apache.jackrabbit.oak.upgrade.version.VersionHistoryUtil.getVersionHistoryNodeState; import static org.apache.jackrabbit.oak.upgrade.version.VersionHistoryUtil.getVersionStorage; +import java.util.Collections; +import java.util.Set; + +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.TypePredicate; +import org.apache.jackrabbit.oak.plugins.version.ReadWriteVersionManager; +import org.apache.jackrabbit.oak.spi.commit.CommitInfo; +import org.apache.jackrabbit.oak.spi.commit.DefaultEditor; +import org.apache.jackrabbit.oak.spi.commit.Editor; +import org.apache.jackrabbit.oak.spi.commit.EditorProvider; +import org.apache.jackrabbit.oak.spi.state.NodeBuilder; +import org.apache.jackrabbit.oak.spi.state.NodeState; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * The VersionableEditor provides two possible ways to handle * versionable nodes: @@ -70,6 +70,8 @@ private final NodeBuilder rootBuilder; + private final NodeState versionStorageNode; + private final NodeBuilder versionStorage; private final TypePredicate isReferenceable; @@ -85,6 +87,7 @@ private VersionableEditor(Provider provider, NodeBuilder rootBuilder) { this.rootBuilder = rootBuilder; this.versionStorage = getVersionStorage(rootBuilder); + this.versionStorageNode = getVersionStorage(provider.sourceRoot); this.vMgr = new ReadWriteVersionManager(versionStorage, rootBuilder); this.provider = provider; @@ -170,7 +173,7 @@ } private boolean isVersionHistoryExists(String versionableUuid) { - return getVersionHistoryNodeState(versionStorage.getNodeState(), versionableUuid).exists(); + return getVersionHistoryNodeState(versionStorageNode, versionableUuid).exists(); } private void removeVersionProperties(final NodeBuilder versionableBuilder) {