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/03/08 17:19:38 UTC
svn commit: r1786034 -
/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.java
Author: mreutegg
Date: Wed Mar 8 17:19:38 2017
New Revision: 1786034
URL: http://svn.apache.org/viewvc?rev=1786034&view=rev
Log:
OAK-5913: DataStoreTrackerGCTest uses different Clocks for tests
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreTrackerGCTest.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=1786034&r1=1786033&r2=1786034&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 Wed Mar 8 17:19:38 2017
@@ -39,6 +39,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.document.DocumentBlobReferenceRetriever;
import org.apache.jackrabbit.oak.plugins.document.DocumentMKBuilderProvider;
import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
+import org.apache.jackrabbit.oak.plugins.document.TestUtils;
import org.apache.jackrabbit.oak.plugins.document.VersionGarbageCollector;
import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
import org.apache.jackrabbit.oak.plugins.identifier.ClusterRepositoryInfo;
@@ -49,6 +50,7 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.apache.jackrabbit.oak.stats.Clock;
+import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
@@ -106,9 +108,15 @@ public class DataStoreTrackerGCTest {
@Before
public void setup() throws IOException, InterruptedException {
this.clock = getTestClock();
+ TestUtils.setRevisionClock(clock);
this.blobStoreRoot = folder.newFolder("blobstore");
}
+ @After
+ public void after() {
+ TestUtils.resetRevisionClockToDefault();
+ }
+
@Test
public void gc() throws Exception {
Cluster cluster = new Cluster("cluster1");
@@ -178,7 +186,7 @@ public class DataStoreTrackerGCTest {
a = ds.getRoot().builder();
a.child("cspecial" + 0).remove();
ds.merge(a, INSTANCE, EMPTY);
- long maxAge = 10; // hours
+ long maxAge = 10; // minutes
// 1. Go past GC age and check no GC done as nothing deleted
clock.waitUntil(clock.getTime() + MINUTES.toMillis(maxAge));
@@ -347,8 +355,8 @@ public class DataStoreTrackerGCTest {
@Test
public void sameClusterGC() throws Exception {
MemoryDocumentStore store = new MemoryDocumentStore();
- Cluster cluster1 = new Cluster("cluster1-1", store);
- Cluster cluster2 = new Cluster("cluster1-2", store);
+ Cluster cluster1 = new Cluster("cluster1-1", 1, store);
+ Cluster cluster2 = new Cluster("cluster1-2", 2, store);
clusterGCInternal(cluster1, cluster2, true);
}
@@ -414,7 +422,7 @@ public class DataStoreTrackerGCTest {
a.child("c" + id).remove();
s.merge(a, INSTANCE, EMPTY);
}
- long maxAge = 10; // hours
+ long maxAge = 10; // minutes
// 1. Go past GC age and check no GC done as nothing deleted
clock.waitUntil(clock.getTime() + MINUTES.toMillis(maxAge));
@@ -431,13 +439,15 @@ public class DataStoreTrackerGCTest {
String repoId;
BlobIdTracker tracker;
- public Cluster(String clusterId) throws Exception {
- this(clusterId, new MemoryDocumentStore());
+ public Cluster(String clusterName) throws Exception {
+ this(clusterName, 1, new MemoryDocumentStore());
}
- public Cluster(String clusterId, MemoryDocumentStore store) throws Exception {
+ public Cluster(String clusterName, int clusterId, MemoryDocumentStore store) throws Exception {
blobStore = getBlobStore(blobStoreRoot);
nodeStore = builderProvider.newBuilder()
+ .setClusterId(clusterId)
+ .clock(clock)
.setAsyncDelay(0)
.setDocumentStore(store)
.setBlobStore(blobStore)
@@ -449,7 +459,7 @@ public class DataStoreTrackerGCTest {
new ByteArrayInputStream(new byte[0]),
REPOSITORY.getNameFromId(repoId));
- String trackerRoot = folder.newFolder(clusterId).getAbsolutePath();
+ String trackerRoot = folder.newFolder(clusterName).getAbsolutePath();
tracker = new BlobIdTracker(trackerRoot,
repoId, 86400, (SharedDataStore) blobStore);
// add the tracker to the blobStore
@@ -459,7 +469,7 @@ public class DataStoreTrackerGCTest {
gc = new MarkSweepGarbageCollector(
new DocumentBlobReferenceRetriever(nodeStore),
(GarbageCollectableBlobStore) blobStore, newSingleThreadExecutor(),
- folder.newFolder("gc" + clusterId).getAbsolutePath(), 5, 0, repoId);
+ folder.newFolder("gc" + clusterName).getAbsolutePath(), 5, 0, repoId);
}
public void close() throws IOException {