Author: mreutegg
Date: Mon Jan  6 13:43:14 2014
New Revision: 1555752

URL: http://svn.apache.org/r1555752
Log:
OAK-1254: Parallel execution of SimpleSearchTest fails with MongoMK
- publish current head revision first to revision comparator
- enable tests

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java
    
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStoreTest.java
    
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentAddNodesClusterIT.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java?rev=1555752&r1=1555751&r2=1555752&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStore.java
 Mon Jan  6 13:43:14 2014
@@ -1135,8 +1135,15 @@ public final class MongoNodeStore
             Revision r = e.getValue();
             Revision last = lastKnownRevision.get(machineId);
             if (last == null || r.compareRevisionTime(last) > 0) {
-                lastKnownRevision.put(machineId, r);
+                if (!hasNewRevisions) {
+                    // publish our revision once before any foreign revision
+
+                    // the latest revisions of the current cluster node
+                    // happened before the latest revisions of other cluster 
nodes
+                    revisionComparator.add(Revision.newRevision(clusterId), 
headSeen);
+                }
                 hasNewRevisions = true;
+                lastKnownRevision.put(machineId, r);
                 revisionComparator.add(r, otherSeen);
             }
         }
@@ -1144,11 +1151,6 @@ public final class MongoNodeStore
             store.invalidateCache();
             // TODO only invalidate affected items
             docChildrenCache.invalidateAll();
-            // add a new revision, so that changes are visible
-            Revision r = Revision.newRevision(clusterId);
-            // the latest revisions of the current cluster node
-            // happened before the latest revisions of other cluster nodes
-            revisionComparator.add(r, headSeen);
             // the head revision is after other revisions
             setHeadRevision(Revision.newRevision(clusterId));
         }

Modified: 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStoreTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStoreTest.java?rev=1555752&r1=1555751&r2=1555752&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStoreTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/mongomk/MongoNodeStoreTest.java
 Mon Jan  6 13:43:14 2014
@@ -22,7 +22,6 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
@@ -31,7 +30,6 @@ import static org.junit.Assert.assertTru
 public class MongoNodeStoreTest {
 
     // OAK-1254
-    @Ignore
     @Test
     public void backgroundRead() throws Exception {
         final Semaphore semaphore = new Semaphore(1);

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentAddNodesClusterIT.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentAddNodesClusterIT.java?rev=1555752&r1=1555751&r2=1555752&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentAddNodesClusterIT.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ConcurrentAddNodesClusterIT.java
 Mon Jan  6 13:43:14 2014
@@ -42,7 +42,6 @@ import org.junit.After;
 import org.junit.Assume;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
@@ -81,7 +80,6 @@ public class ConcurrentAddNodesClusterIT
         dropDB();
     }
 
-    @Ignore("OAK-1254")
     @Test
     public void addNodesConcurrent() throws Exception {
         for (int i = 0; i < NUM_CLUSTER_NODES; i++) {


Reply via email to