You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2018/09/25 06:44:27 UTC

lucene-solr:master: SOLR-9317: Deduplicate node list before trying to find if all nodes are up. The test is also fixed to not send duplicate node names in the createNodeSet parameter.

Repository: lucene-solr
Updated Branches:
  refs/heads/master 9bc4b8d4f -> e437b2f1e


SOLR-9317: Deduplicate node list before trying to find if all nodes are up. The test is also fixed to not send duplicate node names in the createNodeSet parameter.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e437b2f1
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e437b2f1
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e437b2f1

Branch: refs/heads/master
Commit: e437b2f1ed80af6bb8b909f64511fe43829eb67d
Parents: 9bc4b8d
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Tue Sep 25 12:14:16 2018 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Tue Sep 25 12:14:16 2018 +0530

----------------------------------------------------------------------
 .../org/apache/solr/cloud/api/collections/Assign.java     |  4 +++-
 .../src/test/org/apache/solr/cloud/AddReplicaTest.java    | 10 ++++++----
 2 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e437b2f1/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
index 42de84a..9b33f52 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -332,7 +333,8 @@ public class Assign {
     if (createNodeSet instanceof List) {
       createNodeList = (List) createNodeSet;
     } else {
-      createNodeList = createNodeSet == null ? null : StrUtils.splitSmart((String) createNodeSet, ",", true);
+      // deduplicate
+      createNodeList = createNodeSet == null ? null : new ArrayList<>(new LinkedHashSet<>(StrUtils.splitSmart((String) createNodeSet, ",", true)));
     }
 
      HashMap<String, ReplicaCount> nodeNameVsShardCount = getNodeNameVsShardCount(collectionName, clusterState, createNodeList);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e437b2f1/solr/core/src/test/org/apache/solr/cloud/AddReplicaTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/AddReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/AddReplicaTest.java
index 342a27d..8980ba8 100644
--- a/solr/core/src/test/org/apache/solr/cloud/AddReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/AddReplicaTest.java
@@ -17,10 +17,9 @@
 package org.apache.solr.cloud;
 
 import java.lang.invoke.MethodHandles;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
-import java.util.List;
+import java.util.LinkedHashSet;
 
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -98,9 +97,12 @@ public class AddReplicaTest extends SolrCloudTestCase {
 
     // but adding any number of replicas is supported if an explicit create node set is specified
     // so test that as well
-    List<String> createNodeSet = new ArrayList<>(2);
-    createNodeSet.add(cluster.getRandomJetty(random()).getNodeName());
+    LinkedHashSet<String> createNodeSet = new LinkedHashSet<>(2);
     createNodeSet.add(cluster.getRandomJetty(random()).getNodeName());
+    while (true)  {
+      String nodeName = cluster.getRandomJetty(random()).getNodeName();
+      if (createNodeSet.add(nodeName))  break;
+    }
     addReplica = CollectionAdminRequest.addReplicaToShard(collection, "shard1")
         .setNrtReplicas(3)
         .setTlogReplicas(1)