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();
}