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");