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 mr...@apache.org on 2016/02/08 13:50:28 UTC
svn commit: r1729159 -
/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/CheckpointsTest.java
Author: mreutegg
Date: Mon Feb 8 12:50:28 2016
New Revision: 1729159
URL: http://svn.apache.org/viewvc?rev=1729159&view=rev
Log:
OAK-3995: Incorrect translation of old checkpoint format
Added ignored test
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/CheckpointsTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/CheckpointsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/CheckpointsTest.java?rev=1729159&r1=1729158&r2=1729159&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/CheckpointsTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/CheckpointsTest.java Mon Feb 8 12:50:28 2016
@@ -29,6 +29,7 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.stats.Clock;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
@@ -351,4 +352,35 @@ public class CheckpointsTest {
assertTrue(root.hasChildNode("foo"));
assertFalse(root.hasChildNode("baz"));
}
+
+ @Ignore("OAK-3995")
+ @Test
+ public void sameClusterReadOldCheckpoint() throws Exception {
+ DocumentStore store = new MemoryDocumentStore();
+ DocumentNodeStore ns1 = builderProvider.newBuilder().setClusterId(1)
+ .setDocumentStore(store).setAsyncDelay(0).getNodeStore();
+
+ NodeBuilder b1 = ns1.getRoot().builder();
+ b1.child("foo");
+ ns1.merge(b1, EmptyHook.INSTANCE, CommitInfo.EMPTY);
+ ns1.runBackgroundOperations();
+
+ // manually create a check point in 1.2 format
+ Revision headRev = Revision.fromString(ns1.getHeadRevision().toString());
+ long expires = Long.MAX_VALUE;
+ String data = "{\"expires\":\"" + expires + "\"}";
+ UpdateOp update = new UpdateOp("checkpoint", false);
+ update.setMapEntry("data", headRev, data);
+ store.createOrUpdate(Collection.SETTINGS, update);
+
+ // create another node
+ NodeBuilder b2 = ns1.getRoot().builder();
+ b2.child("bar");
+ ns1.merge(b2, EmptyHook.INSTANCE, CommitInfo.EMPTY);
+
+ NodeState root = ns1.retrieve(headRev.toString());
+ assertNotNull(root);
+ assertTrue(root.hasChildNode("foo"));
+ assertFalse(root.hasChildNode("bar"));
+ }
}