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

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


The following commit(s) were added to refs/heads/main by this push:
     new ce3d8585ac0 SOLR-17145: Add 'requestid' to INSTALLSHARD response 
(#2252)
ce3d8585ac0 is described below

commit ce3d8585ac098a0c8b7a1ff907dcfc1341526f3f
Author: Jason Gerlowski <[email protected]>
AuthorDate: Tue Feb 13 08:32:06 2024 -0500

    SOLR-17145: Add 'requestid' to INSTALLSHARD response (#2252)
    
    The field is commonly found on other admin requests, so we've added it
    here for consistency.
---
 solr/CHANGES.txt                                              |  2 ++
 .../org/apache/solr/handler/admin/api/InstallShardData.java   | 11 ++++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 8dbdc598a9c..1f7412baea4 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -95,6 +95,8 @@ Improvements
 
 * SOLR-16858: KnnQParser's "Pre-Filtering" behavior is now controlable via 
local params (hossman)
 
+* SOLR-17145: The INSTALLSHARDDATA API now includes a 'requestid' field when 
run asynchronously (Jason Gerlowski)
+
 Optimizations
 ---------------------
 * SOLR-17144: Close searcherExecutor thread per core after 1 minute (Pierre 
Salagnac, Christine Poerschke)
diff --git 
a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java 
b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java
index f1f88f78e54..ac13ef75908 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/InstallShardData.java
@@ -23,8 +23,8 @@ import static 
org.apache.solr.security.PermissionNameProvider.Name.COLL_EDIT_PER
 import jakarta.inject.Inject;
 import java.util.HashMap;
 import org.apache.solr.client.api.endpoint.InstallShardDataApi;
+import org.apache.solr.client.api.model.AsyncJerseyResponse;
 import org.apache.solr.client.api.model.InstallShardDataRequestBody;
-import org.apache.solr.client.api.model.SolrJerseyResponse;
 import org.apache.solr.client.solrj.SolrResponse;
 import org.apache.solr.cloud.api.collections.InstallShardDataCmd;
 import org.apache.solr.common.SolrException;
@@ -59,9 +59,9 @@ public class InstallShardData extends AdminAPIBase implements 
InstallShardDataAp
 
   @Override
   @PermissionName(COLL_EDIT_PERM)
-  public SolrJerseyResponse installShardData(
+  public AsyncJerseyResponse installShardData(
       String collName, String shardName, InstallShardDataRequestBody 
requestBody) throws Exception {
-    final SolrJerseyResponse response = 
instantiateJerseyResponse(SolrJerseyResponse.class);
+    final var response = instantiateJerseyResponse(AsyncJerseyResponse.class);
     final CoreContainer coreContainer = 
fetchAndValidateZooKeeperAwareCoreContainer();
     recordCollectionForLogAndTracing(collName, solrQueryRequest);
     if (requestBody == null) {
@@ -99,6 +99,11 @@ public class InstallShardData extends AdminAPIBase 
implements InstallShardDataAp
       throw remoteResponse.getException();
     }
 
+    if (requestBody.async != null) {
+      response.requestId = requestBody.async;
+      return response;
+    }
+
     return response;
   }
 

Reply via email to