Author: mreutegg
Date: Tue Nov 19 12:24:15 2013
New Revision: 1543400
URL: http://svn.apache.org/r1543400
Log:
OAK-1199: Parallel execution of DescendantSearchTest and SimpleSearchTest fail
with MongoMK
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/SimpleSearchTest.java
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/SimpleSearchTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/SimpleSearchTest.java?rev=1543400&r1=1543399&r2=1543400&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/SimpleSearchTest.java
(original)
+++
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/SimpleSearchTest.java
Tue Nov 19 12:24:15 2013
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.benchmark;
+import javax.jcr.InvalidItemStateException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.RepositoryException;
@@ -47,6 +48,16 @@ public class SimpleSearchTest extends Ab
public void beforeSuite() throws RepositoryException {
session = getRepository().login(getCredentials());
+ try {
+ ensurePropertyIndex();
+ } catch (InvalidItemStateException e) {
+ // some other oak instance probably created the same
+ // index definition concurrently. refresh and try again
+ // do not catch exception if it fails again.
+ session.refresh(false);
+ ensurePropertyIndex();
+ }
+
root = session.getRootNode().addNode("testroot" + TEST_ID,
"nt:unstructured");
for (int i = 0; i < NODE_COUNT; i++) {
Node node = root.addNode("node" + i, "nt:unstructured");
@@ -56,10 +67,6 @@ public class SimpleSearchTest extends Ab
}
session.save();
}
-
- new OakIndexUtils.PropertyIndex().
- property("testcount").
- create(session);
}
@Override
@@ -89,4 +96,9 @@ public class SimpleSearchTest extends Ab
session.logout();
}
+ private void ensurePropertyIndex() throws RepositoryException {
+ new OakIndexUtils.PropertyIndex().
+ property("testcount").
+ create(session);
+ }
}