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

houston 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 fc65fa3c818 SOLR-17092: Fix race condition for async request status 
when using Overseer (#3391)
fc65fa3c818 is described below

commit fc65fa3c8181bad10a05cc9a933c32af9e78055b
Author: Houston Putman <[email protected]>
AuthorDate: Wed Jun 25 16:19:06 2025 -0500

    SOLR-17092: Fix race condition for async request status when using Overseer 
(#3391)
---
 .../src/java/org/apache/solr/handler/admin/CollectionsHandler.java  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java 
b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
index 3b22b3072e5..85cc036d9ed 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
@@ -805,7 +805,9 @@ public class CollectionsHandler extends RequestHandlerBase 
implements Permission
 
           final NamedList<Object> status = new NamedList<>();
           if (coreContainer.getDistributedCollectionCommandRunner().isEmpty()) 
{
-            if (zkController.getOverseerCompletedMap().contains(requestId)) {
+            if (zkController.getOverseerRunningMap().contains(requestId)) {
+              addStatusToResponse(status, RUNNING, "found [" + requestId + "] 
in running tasks");
+            } else if 
(zkController.getOverseerCompletedMap().contains(requestId)) {
               final byte[] mapEntry = 
zkController.getOverseerCompletedMap().get(requestId);
               rsp.getValues()
                   
.addAll(OverseerSolrResponseSerializer.deserialize(mapEntry).getResponse());
@@ -816,8 +818,6 @@ public class CollectionsHandler extends RequestHandlerBase 
implements Permission
               rsp.getValues()
                   
.addAll(OverseerSolrResponseSerializer.deserialize(mapEntry).getResponse());
               addStatusToResponse(status, FAILED, "found [" + requestId + "] 
in failed tasks");
-            } else if 
(zkController.getOverseerRunningMap().contains(requestId)) {
-              addStatusToResponse(status, RUNNING, "found [" + requestId + "] 
in running tasks");
             } else if (h.overseerCollectionQueueContains(requestId)) {
               addStatusToResponse(
                   status, SUBMITTED, "found [" + requestId + "] in submitted 
tasks");

Reply via email to