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]