Author: tomekr
Date: Mon Jan 30 09:53:42 2017
New Revision: 1780886

URL: http://svn.apache.org/viewvc?rev=1780886&view=rev
Log:
OAK-5545: Replica Set Info seems to close and open Mongo connections in a loop

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/NodeCollectionProvider.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfo.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/NodeCollectionProvider.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/NodeCollectionProvider.java?rev=1780886&r1=1780885&r2=1780886&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/NodeCollectionProvider.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/NodeCollectionProvider.java
 Mon Jan 30 09:53:42 2017
@@ -16,6 +16,7 @@
  */
 package org.apache.jackrabbit.oak.plugins.document.mongo.replica;
 
+import static com.google.common.collect.ImmutableSet.copyOf;
 import static com.google.common.collect.Sets.difference;
 
 import java.net.UnknownHostException;
@@ -59,7 +60,7 @@ public class NodeCollectionProvider {
     }
 
     public void retain(Set<String> hostNames) {
-        close(difference(collections.keySet(), hostNames));
+        close(copyOf(difference(collections.keySet(), hostNames)));
     }
 
     public void close() {

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfo.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfo.java?rev=1780886&r1=1780885&r2=1780886&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfo.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfo.java
 Mon Jan 30 09:53:42 2017
@@ -261,8 +261,9 @@ public class ReplicaSetInfo implements R
         }
 
         Map<String, Timestamped<RevisionVector>> vectors = null;
+        Set<String> hostsToCheck = union(secondaries, of(primary));
         if (!unknownState) {
-            vectors = getRootRevisions(union(secondaries, of(primary)));
+            vectors = getRootRevisions(hostsToCheck);
             if (vectors.containsValue(null)) {
                 unknownState = true;
             }
@@ -284,7 +285,7 @@ public class ReplicaSetInfo implements R
         }
 
         LOG.debug("Minimum root revisions: {}. Current lag: {}", 
rootRevisions, getLag());
-        nodeCollections.retain(secondaries);
+        nodeCollections.retain(hostsToCheck);
     }
 
     /**


Reply via email to