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 2019/02/04 14:49:41 UTC
svn commit: r1852922 - in /jackrabbit/oak/branches/1.10: ./
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/
Author: mreutegg
Date: Mon Feb 4 14:49:40 2019
New Revision: 1852922
URL: http://svn.apache.org/viewvc?rev=1852922&view=rev
Log:
OAK-8017: Test failure: LastRevRecoveryRandomizedIT
Merged revision 1852920 from trunk
Modified:
jackrabbit/oak/branches/1.10/ (props changed)
jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderProvider.java
jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreIT.java
jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryRandomizedIT.java
Propchange: jackrabbit/oak/branches/1.10/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Feb 4 14:49:40 2019
@@ -1,3 +1,3 @@
/jackrabbit/oak/branches/1.0:1665962
-/jackrabbit/oak/trunk:1851236,1851253,1851451,1852052,1852084,1852451,1852492-1852493
+/jackrabbit/oak/trunk:1851236,1851253,1851451,1852052,1852084,1852451,1852492-1852493,1852920
/jackrabbit/trunk:1345480
Modified: jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderProvider.java?rev=1852922&r1=1852921&r2=1852922&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderProvider.java (original)
+++ jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKBuilderProvider.java Mon Feb 4 14:49:40 2019
@@ -16,11 +16,12 @@
*/
package org.apache.jackrabbit.oak.plugins.document;
+import java.util.ArrayList;
import java.util.List;
import org.junit.rules.ExternalResource;
-
-import com.google.common.collect.Lists;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* The <tt>DocumentMkBuilderProvider</tt> is a JUnit <tt>@Rule</tt> which
@@ -48,41 +49,39 @@ import com.google.common.collect.Lists;
*/
public class DocumentMKBuilderProvider extends ExternalResource {
- private List<DisposingDocumentMKBuilder> builders = Lists.newArrayList();
+ private static final Logger LOG = LoggerFactory.getLogger(DocumentMKBuilderProvider.class);
+
+ private List<DocumentNodeStore> nodeStores = new ArrayList<>();
@Override
protected void after() {
- for (DisposingDocumentMKBuilder builder : builders) {
- builder.dispose();
+ for (DocumentNodeStore ns : nodeStores) {
+ try {
+ ns.dispose();
+ } catch (Exception e) {
+ LOG.warn("Exception while disposing DocumentNodeStore", e);
+ }
}
}
-
+
public DocumentMK.Builder newBuilder() {
- DisposingDocumentMKBuilder builder = new DisposingDocumentMKBuilder();
- builders.add(builder);
- return builder;
+ return new DisposingDocumentMKBuilder();
}
- private static class DisposingDocumentMKBuilder extends DocumentMK.Builder {
-
- private boolean initialised = false;
+ private class DisposingDocumentMKBuilder extends DocumentMK.Builder {
@Override
public DocumentNodeStore getNodeStore() {
- boolean success = false;
- try {
- DocumentNodeStore ns = super.getNodeStore();
- success = true;
- return ns;
- } finally {
- initialised = success;
- }
+ DocumentNodeStore ns = super.getNodeStore();
+ nodeStores.add(ns);
+ return ns;
}
- public void dispose() {
- if ( initialised ) {
- getNodeStore().dispose();
- }
+ @Override
+ public DocumentNodeStore build() {
+ DocumentNodeStore ns = super.build();
+ nodeStores.add(ns);
+ return ns;
}
- }
+ }
}
\ No newline at end of file
Modified: jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreIT.java?rev=1852922&r1=1852921&r2=1852922&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreIT.java (original)
+++ jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreIT.java Mon Feb 4 14:49:40 2019
@@ -26,6 +26,7 @@ import java.util.concurrent.atomic.Atomi
import com.google.common.util.concurrent.Monitor;
+import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.apache.jackrabbit.oak.json.JsopDiff;
import org.apache.jackrabbit.oak.plugins.document.util.TimingDocumentStoreWrapper;
import org.apache.jackrabbit.oak.plugins.document.util.Utils;
@@ -77,12 +78,7 @@ public class DocumentNodeStoreIT extends
Clock clock = new Clock.Virtual();
clock.waitUntil(System.currentTimeMillis());
Revision.setClock(clock);
- DocumentStore docStore = new TimingDocumentStoreWrapper(ds) {
- @Override
- public void dispose() {
- // do not dispose yet
- }
- };
+ DocumentStore docStore = new NonDisposingDocumentStore(ds);
// use a builder with a no-op diff cache to simulate a
// cache miss when the diff is made later in the test
DocumentNodeStore ns1 = new TestBuilder()
@@ -147,8 +143,9 @@ public class DocumentNodeStoreIT extends
public void blockingBlob() throws Exception {
ExecutorService updateExecutor = newSingleThreadExecutor();
ExecutorService commitExecutor = newSingleThreadExecutor();
+ DocumentStore docStore = new NonDisposingDocumentStore(ds);
DocumentNodeStore store = builderProvider.newBuilder()
- .setDocumentStore(ds).build();
+ .setDocumentStore(docStore).build();
removeMeClusterNodes.add("" + store.getClusterId());
try {
@@ -185,8 +182,9 @@ public class DocumentNodeStoreIT extends
blockingBlob.unblock();
}
} finally {
- commitExecutor.shutdown();
- updateExecutor.shutdown();
+ new ExecutorCloser(commitExecutor).close();
+ new ExecutorCloser(updateExecutor).close();
+ store.dispose();
}
}
@@ -244,6 +242,19 @@ public class DocumentNodeStoreIT extends
}
}
+ private static class NonDisposingDocumentStore
+ extends TimingDocumentStoreWrapper {
+
+ NonDisposingDocumentStore(DocumentStore base) {
+ super(base);
+ }
+
+ @Override
+ public void dispose() {
+ // do not dispose yet
+ }
+ }
+
private class TestBuilder extends DocumentNodeStoreBuilder<TestBuilder> {
@Override
Modified: jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java?rev=1852922&r1=1852921&r2=1852922&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java (original)
+++ jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreTest.java Mon Feb 4 14:49:40 2019
@@ -2606,6 +2606,7 @@ public class DocumentNodeStoreTest {
Clock clock = new Clock.Virtual();
clock.waitUntil(System.currentTimeMillis());
Revision.setClock(clock);
+ ClusterNodeInfo.setClock(clock);
DocumentNodeStore ns = builderProvider.newBuilder()
.clock(clock)
.setAsyncDelay(0).getNodeStore();
Modified: jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryRandomizedIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryRandomizedIT.java?rev=1852922&r1=1852921&r2=1852922&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryRandomizedIT.java (original)
+++ jackrabbit/oak/branches/1.10/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/LastRevRecoveryRandomizedIT.java Mon Feb 4 14:49:40 2019
@@ -136,6 +136,7 @@ public class LastRevRecoveryRandomizedIT
if (!success) {
int num = 0;
for (String line : ops) {
+ System.out.println("Seed: " + SEED);
System.out.println(num++ + ": " + line);
}
}