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(