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

   When a ZkInterruptedException occurs during IdealState updates, we now 
verify whether the write actually succeeded by:
   
     1. Reading back the current IdealState from ZooKeeper
     2. Checking version advancement: Ensures the version increased from our 
pre-write baseline
     3. Verifying content equality: Confirms our specific changes are present 
in the written state
   
   ### Why both checks are necessary
   
     - **Version-only check is insufficient**: Version advancement only tells 
us some write occurred, not necessarily ours
     - **Equality check ensures specificity**: Verifies our exact changes are 
present, not overwritten by concurrent updates
   
   There are some tradeoffs here and we are accepting some false negatives when 
checking for equality, given that the IdealState could be updated outside of 
this code block (i.e. if some other thread or process updates the ideal state, 
the equality check may fail, and then we will retry). I think this is an 
acceptable tradeoff especially given this exception shouldn't occur very often. 
This ensures we never incorrectly report success when our specific write didn't 
persist in the final state.


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

Reply via email to