FrankChen021 commented on code in PR #18824:
URL: https://github.com/apache/druid/pull/18824#discussion_r3934433042


##########
server/src/main/java/org/apache/druid/server/coordinator/loading/HttpLoadQueuePeon.java:
##########
@@ -410,6 +424,9 @@ private void updateSuccessOrFailureInHolder(SegmentHolder 
holder, SegmentChangeS
             } else {
               onRequestCompleted(holder, RequestStatus.SUCCESS, status);
             }
+
+            holder.markRequestSucceeded();

Review Comment:
   [P1] Only retain successful requests
   
   updateSuccessOrFailureInHolder is reached for both SUCCESS and FAILED 
statuses, but this bookkeeping runs after the FAILED branch too. A failed LOAD 
normally leaves the segment absent from the inventory, so the next 
getSegmentsInQueue call sees holder.isLoad() != isSegmentLoaded and re-adds 
this failed holder as a queued action for up to getLoadTimeout() (15 minutes); 
a failed DROP is similarly treated as freeing space while the segment is still 
loaded. This suppresses retry/replica correction and can overcommit disk. Add 
to recentlySucceededActions only for SUCCESS responses, and cover failed 
load/drop responses with regression tests.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to