This is an automated email from the ASF dual-hosted git repository.

psalagnac pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_10x by this push:
     new cd1d8f25089 SOLR-17931: Remove deprecated ShardRequestTracker.track(). 
(#3773)
cd1d8f25089 is described below

commit cd1d8f2508901fd5dce89fd8ef1c583e7c753d59
Author: Pierre Salagnac <[email protected]>
AuthorDate: Mon Oct 20 21:10:34 2025 +0200

    SOLR-17931: Remove deprecated ShardRequestTracker.track(). (#3773)
    
    Refactored collection creation command so it does not use internals of 
ShardRequestTracker, but uses it to submit requests with public methods.
---
 .../api/collections/CollectionHandlingUtils.java   | 11 ++-------
 .../cloud/api/collections/CreateCollectionCmd.java | 26 +++++++++-------------
 2 files changed, 12 insertions(+), 25 deletions(-)

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 class CollectionHandlingUtils {
       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 @@ public class CollectionHandlingUtils {
         }
       }
     }
-
-    /**
-     * @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.ConfigSetService;
 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 class CreateCollectionCmd implements 
CollApiCmds.CollectionApiCommand {
                 "Creating SolrCores for new collection {0}, shardNames {1} , 
message : {2}",
                 collectionName, shardNames, message));
       }
-      Map<String, ShardRequest> coresToCreate = new LinkedHashMap<>();
+
+      Map<String, ModifiableSolrParams> coresToCreate = new LinkedHashMap<>();
+      Map<String, String> nodeNames = new HashMap<>();
       ShardHandler shardHandler = ccc.newShardHandler();
       final DistributedClusterStateUpdater.StateChangeRecorder scr;
 
@@ -359,19 +360,11 @@ public class CreateCollectionCmd implements 
CollApiCmds.CollectionApiCommand {
         if (async != null) {
           String coreAdminAsyncId = async + Math.abs(System.nanoTime());
           params.add(ASYNC, coreAdminAsyncId);
-          shardRequestTracker.track(nodeName, coreAdminAsyncId);
         }
         CollectionHandlingUtils.addPropertyParams(message, params);
 
-        ShardRequest sreq = new ShardRequest();
-        sreq.nodeName = nodeName;
-        params.set("qt", ccc.getAdminPath());
-        sreq.purpose = ShardRequest.PURPOSE_PRIVATE;
-        sreq.shards = new String[] {baseUrl};
-        sreq.actualShards = sreq.shards;
-        sreq.params = params;
-
-        coresToCreate.put(coreName, sreq);
+        coresToCreate.put(coreName, params);
+        nodeNames.put(coreName, nodeName);
       }
 
       // Update the state.json for PRS collection in a single operation
@@ -411,10 +404,11 @@ public class CreateCollectionCmd implements 
CollApiCmds.CollectionApiCommand {
                 coresToCreate.keySet());
       }
 
-      for (Map.Entry<String, ShardRequest> 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<String, ModifiableSolrParams> 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(

Reply via email to