snleee opened a new pull request, #12346:
URL: https://github.com/apache/pinot/pull/12346

   The current code can face the race condition when the following condition is 
met:
   
   1. Segment upload is complete for segment replacement and segment zk 
metadata is changed to point the new segment.
   2. Server is still loading the segment (e.g. if offheap upsert is enabled, 
segment reload can take a while)
   3. If minion picks up the compaction task at the above step, minion will 
download the new segment (replaced) while it will fetch the validDocId bitmap 
for old segment.
   
   To avoid this scenario, we added the extra crc check on the minion side. 
Minion will check if the crc from downloaded segment and crc from server api 
for valid doc id bitmap are the same.
   
   Changes from the PR:
   1. Add the new API for fetching validDocId bitmap. the response is changed 
to JSON to include extra information like crc.
   2. Wired the new API & added tests
   3. Added the crc check on the minion


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