jackjlli commented on code in PR #8667:
URL: https://github.com/apache/pinot/pull/8667#discussion_r869674942
##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/PinotHelixResourceManager.java:
##########
@@ -3132,8 +3132,20 @@ public String startReplaceSegments(String
tableNameWithType, List<String> segmen
// Update segment lineage entry to 'REVERTED'
updateSegmentLineageEntryToReverted(tableNameWithType,
segmentLineage, entryId, lineageEntry);
+ // Update segmentsTo of the 'REVERTED' entry to handle the
following case:
Review Comment:
I don't think we can directly remove the `IN_PROGRESS` entry, otherwise any
segments in `segmentsTo` can be queried in pinot brokers, while the next batch
of segment upload is still in progress.
E.g. if the 1st lineage entry is like `{segmentsTo: [s3, s4]}` and the next
one is `{segmentsTo: [s4, s5]}`, then s3 can be queried once the lineage is
removed. So only when s3 is removed can we safely delete the old `IN_PROGRESS`
entry.
--
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]