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);
}
/**