KKcorps opened a new pull request, #19969: URL: https://github.com/apache/pinot/pull/19969
Upsert servers break ties between an uploaded segment and another segment on its ZK creation time, which they copy onto the segment at load. A same-CRC re-upload overwrites that time with the new build time but doesn't refresh the segment, and servers skip same-CRC segments anyway. So a running replica keeps the old time while one that restarts, reloads or re-downloads reads the new one, and the two can keep different rows for the same key. This keeps the ZK creation time on a same-CRC re-upload for upsert tables. Refresh time, download URL and the custom map still update. Other tables keep today's behaviour because only the upsert load path caches this time on servers, and a new-CRC refresh still takes the new time because servers reload it. Tested with a new `ZKOperatorTest` case for an upsert table that re-uploads with the same CRC and then a new one, and it fails without the fix. The other `ZKOperatorTest` cases and the spotless, checkstyle and license checks pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
