anuragrai16 commented on code in PR #17754:
URL: https://github.com/apache/pinot/pull/17754#discussion_r2845022583
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -1803,6 +1805,27 @@ IdealState ensureAllPartitionsConsuming(TableConfig
tableConfig, List<StreamConf
updateInstanceStatesForNewConsumingSegment(instanceStatesMap,
latestSegmentName, null, segmentAssignment,
instancePartitionsMap);
}
+ } else if (latestSegmentZKMetadata.getStatus() == Status.IN_PROGRESS
+ && _isPartialOfflineReplicaRepairEnabled) {
+ // Handle case where some replicas are OFFLINE while others are
CONSUMING
Review Comment:
Similar to other repairs, you should add max segment completion time check,
```
if (!isExceededMaxSegmentCompletionTime(realtimeTableName,
latestSegmentName, currentTimeMs)) {
LOGGER.debug("Skipping partial offline repair for segment: {} -
metadata recently updated, "
+ "commit may be in progress", latestSegmentName);
continue; // or skip just the repair logic below
}
```
This ensures your repair does not mess up any actively ongoing commit.
--
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]