cluster: replay queued up events#836
Draft
dkropachev wants to merge 1 commit intomasterfrom
Draft
Conversation
2094ebd to
db683a0
Compare
db683a0 to
cff85ac
Compare
Host status events can race when an UP notification arrives while DOWN handling is still running in the executor. Previously the UP path could complete first, only for the pending DOWN path to remove pools and start a reconnector afterwards, leaving host liveness state stale. Track per-host liveness epochs and queue UP handling while DOWN handling is active. Replay the queued UP only if no newer DOWN or REMOVE event superseded it, and guard reconnection and pool cleanup against stale host objects. Add unit coverage for superseded up/down/remove sequences, queued replay, and endpoint updates.
cff85ac to
368e7e6
Compare
| def on_up(self, host): | ||
| return self._on_up(host) | ||
|
|
||
| def _on_up(self, host, expected_epoch=None): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
on_up()reacquires the host lock, and preserve no-retry auth failures for hosts that were never marked up.Tests
uv run pytest tests/unit/test_cluster.py -qgit diff --checkPre-review checklist
./docs/source/.Fixes:annotations to PR description.