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 to...@apache.org on 2017/06/19 14:23:23 UTC
svn commit: r1799213 -
/jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
Author: tomekr
Date: Mon Jun 19 14:23:23 2017
New Revision: 1799213
URL: http://svn.apache.org/viewvc?rev=1799213&view=rev
Log:
OAK-6360: Failed to retrieve previously indexed checkpoint in composite node store
Don't use the resolve-by-name mechanism for releasing checkpoints
from the partial stores.
Modified:
jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
Modified: jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java?rev=1799213&r1=1799212&r2=1799213&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java (original)
+++ jackrabbit/oak/trunk/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java Mon Jun 19 14:23:23 2017
@@ -291,7 +291,7 @@ public class CompositeNodeStore implemen
nodeStates.put(ctx.getGlobalStore(), ctx.getGlobalStore().getNodeStore().retrieve(checkpoint));
for (MountedNodeStore nodeStore : ctx.getNonDefaultStores()) {
NodeState nodeState = null;
- String partialCheckpoint = getPartialCheckpointName(nodeStore, checkpoint, props);
+ String partialCheckpoint = getPartialCheckpointName(nodeStore, checkpoint, props, true);
if (partialCheckpoint == null && nodeStore.getMount().isReadOnly()) {
nodeState = nodeStore.getNodeStore().getRoot();
} else if (partialCheckpoint != null) {
@@ -322,7 +322,7 @@ public class CompositeNodeStore implemen
continue;
}
boolean released = false;
- String partialCheckpoint = getPartialCheckpointName(nodeStore, checkpoint, props);
+ String partialCheckpoint = getPartialCheckpointName(nodeStore, checkpoint, props, false);
if (partialCheckpoint != null) {
released = nodeStore.getNodeStore().release(partialCheckpoint);
}
@@ -331,7 +331,7 @@ public class CompositeNodeStore implemen
return result;
}
- private String getPartialCheckpointName(MountedNodeStore nodeStore, String globalCheckpoint, Map<String, String> globalCheckpointProperties) {
+ private String getPartialCheckpointName(MountedNodeStore nodeStore, String globalCheckpoint, Map<String, String> globalCheckpointProperties, boolean resolveByName) {
Set<String> validCheckpointNames = ImmutableSet.copyOf(nodeStore.getNodeStore().checkpoints());
String result = globalCheckpointProperties.get(CHECKPOINT_METADATA_MOUNT + nodeStore.getMount().getName());
if (result != null && validCheckpointNames.contains(result)) {