suvodeep-pyne commented on code in PR #19909:
URL: https://github.com/apache/pinot/pull/19909#discussion_r4339390977


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -3020,13 +3020,13 @@ public void repairSegmentsInErrorState(TableConfig 
tableConfig,
       if (status == Status.IN_PROGRESS && 
segmentsInErrorStateInAllReplicas.contains(segmentName)) {
         LOGGER.info("Resetting IN_PROGRESS segment: {} in table: {} since all 
replicas are in ERROR state.",
             segmentName, realtimeTableName);
-        _helixResourceManager.resetSegment(realtimeTableName, segmentName, 
null);
+        resetErrorReplicas(realtimeTableName, segmentName, currentStateMap);
         continue;
       }
 
       // 3) For all other non-IN_PROGRESS statuses with any ERROR replica, 
trigger a reset to download/refresh
       if (status != Status.IN_PROGRESS) {

Review Comment:
   It heals after the commit, so I don't count it as unrecoverable, unless no 
replica is consuming it at all. In a779ff97dd it has its own branch, with an 
INFO log saying its replicas are left until the segment commits. The 
description now lists what the gauge counts:
   - skipped by the gate;
   - still consuming in the IdealState with no replica consuming it;
   - no deep-store copy and no ONLINE or CONSUMING replica (still reset, since 
it may have a local copy);
   - no server to re-ingest on;
   - a failed re-ingestion trigger or reset.



-- 
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