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 re...@apache.org on 2017/02/27 12:42:27 UTC
svn commit: r1784551 - in
/jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi:
AbstractRepositoryFactoryTest.groovy DocumentNodeStoreConfigTest.groovy
Author: reschke
Date: Mon Feb 27 12:42:26 2017
New Revision: 1784551
URL: http://svn.apache.org/viewvc?rev=1784551&view=rev
Log:
OAK-5612: Test failure: org.apache.jackrabbit.oak.run.osgi.DocumentNodeStoreConfigTest.testRDBDocumentStoreRestart
Change test to use retry loop waiting for success; also extended wait to 5s max (from original 0,5s)
Modified:
jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/AbstractRepositoryFactoryTest.groovy
jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy
Modified: jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/AbstractRepositoryFactoryTest.groovy
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/AbstractRepositoryFactoryTest.groovy?rev=1784551&r1=1784550&r2=1784551&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/AbstractRepositoryFactoryTest.groovy (original)
+++ jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/AbstractRepositoryFactoryTest.groovy Mon Feb 27 12:42:26 2017
@@ -132,6 +132,10 @@ abstract class AbstractRepositoryFactory
}
static retry(int timeoutSeconds, int intervalBetweenTriesMsec, Closure c) {
+ retry(timeoutSeconds, intervalBetweenTriesMsec, null, c)
+ }
+
+ static retry(int timeoutSeconds, int intervalBetweenTriesMsec, String message, Closure c) {
long timeout = System.currentTimeMillis() + timeoutSeconds * 1000L;
while (System.currentTimeMillis() < timeout) {
try {
@@ -148,7 +152,6 @@ abstract class AbstractRepositoryFactory
}
}
- fail("RetryLoop failed, condition is false after " + timeoutSeconds + " seconds: ");
+ fail("RetryLoop failed, condition is false after " + timeoutSeconds + " seconds" + (message ?: (":" + message)));
}
-
}
Modified: jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy?rev=1784551&r1=1784550&r2=1784551&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy (original)
+++ jackrabbit/oak/trunk/oak-pojosr/src/test/groovy/org/apache/jackrabbit/oak/run/osgi/DocumentNodeStoreConfigTest.groovy Mon Feb 27 12:42:26 2017
@@ -129,8 +129,15 @@ class DocumentNodeStoreConfigTest extend
//3. Shut down ds
srds.unregister();
- TimeUnit.MILLISECONDS.sleep(1000);
- assertNoService(NodeStore.class)
+
+ // Check for service to be unregistered after at most 5s, retrying every 500ms.
+ // Previously, we waited only 500ms; this was extended due to
+ // occasional test failures on Jenkins (see OAK-5612). If 5s
+ // are not sufficient, we should investigate some more.
+ retry (5, 500, "NodeStore should be unregistered") {
+ ServiceReference<NodeStore> sr = registry.getServiceReference(NodeStore.class.name)
+ return sr == null
+ }
//4. Restart ds, service should still be down
srds = registry.registerService(DataSource.class.name, ds, ['datasource.name': 'oak'] as Hashtable)