diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java index e90be1d255d..806ad86ba04 100644 --- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java +++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java @@ -650,7 +650,8 @@ public void sendShardRequest( if (asyncId != null) { String coreAdminAsyncId = asyncId + Math.abs(System.nanoTime()); params.set(ASYNC, coreAdminAsyncId); - track(nodeName, coreAdminAsyncId); + // Track async requests + shardAsyncIdByNode.add(nodeName, coreAdminAsyncId); } ShardRequest sreq = new ShardRequest(); @@ -720,13 +721,5 @@ private void waitForAsyncCallsToComplete(NamedList results) { } } } - - /** - * @deprecated consider to make it private after {@link CreateCollectionCmd} refactoring - */ - @Deprecated - void track(String nodeName, String coreAdminAsyncId) { - shardAsyncIdByNode.add(nodeName, coreAdminAsyncId); - } } } diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java index 34ca3d0e288..80cc02664bd 100644 --- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java +++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java @@ -84,7 +84,6 @@ import org.apache.solr.core.CoreContainer; import org.apache.solr.handler.admin.ConfigSetsHandler; import org.apache.solr.handler.component.ShardHandler; -import org.apache.solr.handler.component.ShardRequest; import org.apache.solr.util.TimeOut; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; @@ -266,7 +265,9 @@ public void call(ClusterState clusterState, ZkNodeProps message, NamedList coresToCreate = new LinkedHashMap<>(); + + Map coresToCreate = new LinkedHashMap<>(); + Map nodeNames = new HashMap<>(); ShardHandler shardHandler = ccc.newShardHandler(); final DistributedClusterStateUpdater.StateChangeRecorder scr; @@ -359,19 +360,11 @@ public void call(ClusterState clusterState, ZkNodeProps message, NamedList e : coresToCreate.entrySet()) { - ShardRequest sreq = e.getValue(); - sreq.params.set(CoreAdminParams.CORE_NODE_NAME, replicas.get(e.getKey()).getName()); - shardHandler.submit(sreq, sreq.shards[0], sreq.params); + for (Map.Entry e : coresToCreate.entrySet()) { + ModifiableSolrParams params = e.getValue(); + String nodeName = nodeNames.get(e.getKey()); + params.set(CoreAdminParams.CORE_NODE_NAME, replicas.get(e.getKey()).getName()); + shardRequestTracker.sendShardRequest(nodeName, params, shardHandler); } shardRequestTracker.processResponses(