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


Reply via email to