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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to