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 2017/04/03 14:16:50 UTC

svn commit: r1790001 - in /jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins: blob/datastore/ document/

Author: mreutegg
Date: Mon Apr  3 14:16:50 2017
New Revision: 1790001

URL: http://svn.apache.org/viewvc?rev=1790001&view=rev
Log:
OAK-6024: Use of DocumentMKBuilderProvider with virtual clock is fragile

Modified:
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalDiffLoaderTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCQueryTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorLogTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java?rev=1790001&r1=1790000&r2=1790001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java Mon Apr  3 14:16:50 2017
@@ -51,6 +51,7 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.apache.jackrabbit.oak.stats.Clock;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Rule;
@@ -112,8 +113,8 @@ public class DataStoreTrackerGCTest {
         this.blobStoreRoot = folder.newFolder("blobstore");
     }
 
-    @After
-    public void after() {
+    @AfterClass
+    public static void resetClock() {
         TestUtils.resetRevisionClockToDefault();
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java?rev=1790001&r1=1790000&r2=1790001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreBranchesTest.java Mon Apr  3 14:16:50 2017
@@ -53,11 +53,6 @@ public class DocumentNodeStoreBranchesTe
     @Rule
     public DocumentMKBuilderProvider builderProvider = new DocumentMKBuilderProvider();
 
-    @After
-    public void tearDown() {
-        Revision.resetClockToDefault();
-    }
-
     @BeforeClass
     public static void disableJournalDiff() {
         System.setProperty(DocumentNodeStore.SYS_PROP_DISABLE_JOURNAL, "true");

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java?rev=1790001&r1=1790000&r2=1790001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java Mon Apr  3 14:16:50 2017
@@ -102,7 +102,8 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.apache.jackrabbit.oak.stats.Clock;
-import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
@@ -116,8 +117,13 @@ public class DocumentNodeStoreTest {
     @Rule
     public DocumentMKBuilderProvider builderProvider = new DocumentMKBuilderProvider();
 
-    @After
-    public void tearDown() {
+    @AfterClass
+    public static void resetClock() {
+        Revision.resetClockToDefault();
+    }
+
+    @Before
+    public void setDefaultClock() {
         Revision.resetClockToDefault();
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalDiffLoaderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalDiffLoaderTest.java?rev=1790001&r1=1790000&r2=1790001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalDiffLoaderTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/JournalDiffLoaderTest.java Mon Apr  3 14:16:50 2017
@@ -36,7 +36,7 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.apache.jackrabbit.oak.stats.Clock;
-import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -60,10 +60,12 @@ public class JournalDiffLoaderTest {
     public void before() throws Exception {
         clock = new Clock.Virtual();
         clock.waitUntil(System.currentTimeMillis());
+        Revision.setClock(clock);
+        ClusterNodeInfo.setClock(clock);
     }
 
-    @After
-    public void after() {
+    @AfterClass
+    public static void resetClock() {
         Revision.resetClockToDefault();
         ClusterNodeInfo.resetClockToDefault();
     }
@@ -71,7 +73,7 @@ public class JournalDiffLoaderTest {
     @Test
     public void fromCurrentJournalEntry() throws Exception {
         DocumentNodeStore ns = builderProvider.newBuilder()
-                .setAsyncDelay(0).getNodeStore();
+                .clock(clock).setAsyncDelay(0).getNodeStore();
         DocumentNodeState s1 = ns.getRoot();
         NodeBuilder builder = ns.getRoot().builder();
         builder.child("foo");
@@ -84,7 +86,7 @@ public class JournalDiffLoaderTest {
     @Test
     public void fromSingleJournalEntry() throws Exception {
         DocumentNodeStore ns = builderProvider.newBuilder()
-                .setAsyncDelay(0).getNodeStore();
+                .clock(clock).setAsyncDelay(0).getNodeStore();
         DocumentNodeState s1 = ns.getRoot();
         NodeBuilder builder = ns.getRoot().builder();
         builder.child("foo");
@@ -98,7 +100,7 @@ public class JournalDiffLoaderTest {
     @Test
     public void fromJournalAndCurrentEntry() throws Exception {
         DocumentNodeStore ns = builderProvider.newBuilder()
-                .setAsyncDelay(0).getNodeStore();
+                .clock(clock).setAsyncDelay(0).getNodeStore();
         DocumentNodeState s1 = ns.getRoot();
         NodeBuilder builder = ns.getRoot().builder();
         builder.child("foo");
@@ -117,7 +119,7 @@ public class JournalDiffLoaderTest {
     @Test
     public void fromMultipleJournalEntries() throws Exception {
         DocumentNodeStore ns = builderProvider.newBuilder()
-                .setAsyncDelay(0).getNodeStore();
+                .clock(clock).setAsyncDelay(0).getNodeStore();
         DocumentNodeState s1 = ns.getRoot();
         NodeBuilder builder = ns.getRoot().builder();
         builder.child("foo");
@@ -142,7 +144,7 @@ public class JournalDiffLoaderTest {
     @Test
     public void fromPartialJournalEntry() throws Exception {
         DocumentNodeStore ns = builderProvider.newBuilder()
-                .setAsyncDelay(0).getNodeStore();
+                .clock(clock).setAsyncDelay(0).getNodeStore();
         DocumentNodeState s1 = ns.getRoot();
         NodeBuilder builder = ns.getRoot().builder();
         builder.child("foo");
@@ -169,9 +171,9 @@ public class JournalDiffLoaderTest {
     public void fromExternalChange() throws Exception {
         DocumentStore store = new MemoryDocumentStore();
         DocumentNodeStore ns1 = builderProvider.newBuilder().setClusterId(1)
-                .setDocumentStore(store).setAsyncDelay(0).getNodeStore();
+                .clock(clock).setDocumentStore(store).setAsyncDelay(0).getNodeStore();
         DocumentNodeStore ns2 = builderProvider.newBuilder().setClusterId(2)
-                .setDocumentStore(store).setAsyncDelay(0).getNodeStore();
+                .clock(clock).setDocumentStore(store).setAsyncDelay(0).getNodeStore();
 
         DocumentNodeState s1 = ns1.getRoot();
         NodeBuilder builder = ns1.getRoot().builder();
@@ -197,7 +199,7 @@ public class JournalDiffLoaderTest {
     @Test
     public void withPath() throws Exception {
         DocumentNodeStore ns = builderProvider.newBuilder()
-                .setAsyncDelay(0).getNodeStore();
+                .clock(clock).setAsyncDelay(0).getNodeStore();
         NodeBuilder builder = ns.getRoot().builder();
         builder.child("foo");
         merge(ns, builder);
@@ -230,10 +232,6 @@ public class JournalDiffLoaderTest {
     // OAK-5228
     @Test
     public void useJournal() throws Exception {
-        // use virtual clock
-        Revision.setClock(clock);
-        ClusterNodeInfo.setClock(clock);
-
         final AtomicInteger journalQueryCounter = new AtomicInteger();
         DocumentStore ds = new MemoryDocumentStore() {
             @Nonnull
@@ -329,7 +327,7 @@ public class JournalDiffLoaderTest {
     @Test
     public void emptyBranchCommit() throws Exception {
         DocumentNodeStore ns = builderProvider.newBuilder()
-                .setAsyncDelay(0).disableBranches().getNodeStore();
+                .clock(clock).setAsyncDelay(0).disableBranches().getNodeStore();
         DocumentStore store = ns.getDocumentStore();
         DocumentNodeState before = ns.getRoot();
         String id = Utils.getIdFromPath("/node-0");

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCQueryTest.java?rev=1790001&r1=1790000&r2=1790001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCQueryTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCQueryTest.java Mon Apr  3 14:16:50 2017
@@ -38,7 +38,7 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.stats.Clock;
-import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -74,8 +74,8 @@ public class VersionGCQueryTest {
                 .setAsyncDelay(0).clock(clock).getNodeStore();
     }
 
-    @After
-    public void after() {
+    @AfterClass
+    public static void resetClock() {
         Revision.resetClockToDefault();
     }
 

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java?rev=1790001&r1=1790000&r2=1790001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCTest.java Mon Apr  3 14:16:50 2017
@@ -37,6 +37,7 @@ import org.apache.jackrabbit.oak.spi.com
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.stats.Clock;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -86,11 +87,15 @@ public class VersionGCTest {
 
     @After
     public void tearDown() throws Exception {
-        Revision.resetClockToDefault();
         execService.shutdown();
         execService.awaitTermination(1, MINUTES);
     }
 
+    @AfterClass
+    public static void resetClock() {
+        Revision.resetClockToDefault();
+    }
+
     @Test
     public void failParallelGC() throws Exception {
         // block gc call

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorLogTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorLogTest.java?rev=1790001&r1=1790000&r2=1790001&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorLogTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollectorLogTest.java Mon Apr  3 14:16:50 2017
@@ -28,6 +28,7 @@ import org.apache.jackrabbit.oak.commons
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.stats.Clock;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -74,6 +75,10 @@ public class VersionGarbageCollectorLogT
     @After
     public void after() {
         logCustomizer.finished();
+    }
+
+    @AfterClass
+    public static void resetClock() {
         Revision.resetClockToDefault();
     }