runtime: fold venue adapters into the restart and poison sweeps#445
Open
mfw78 wants to merge 1 commit into
Open
runtime: fold venue adapters into the restart and poison sweeps#445mfw78 wants to merge 1 commit into
mfw78 wants to merge 1 commit into
Conversation
A trap in a routed adapter call marks a shared Liveness dead; the dispatch-time sweeps restart the provider after the module backoff policy and quarantine a crash-looper per the poison policy. A dead venue resolves to unavailable, distinct from unknown-venue, and adapter_alive_count reports live routability. The flaky-venue fixture drives the trap-to-recovery and poison paths end to end.
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.
What
Fold venue adapters (providers) into the supervisor's restart and poison-recovery sweeps, alongside modules. A trap in a routed adapter call marks a shared
Livenessdead; the sweep restarts the provider through the module backoff policy and quarantines a crash-looper through the poison policy. A dead venue now resolves toUnavailable, distinct fromUnknownVenue, andadapter_alive_counttracks live routability. Adds theflaky-venuefixture, whosesubmittraps on a poison chain-head sentinel and recovers once the head moves on, to drive the trap-to-recovery and poison paths end to end.Why
Adapters currently boot once and install but sit outside the sweeps, so a trapped adapter stays dead until the process restarts, and the router can only project the trap to an internal error. Folding adapters into the sweeps recovers them automatically and lets a strategy tell an unknown venue apart from a temporarily dead one.
Closes #378
Testing
dead_venue_is_unavailable_not_unknown,a_dead_incumbent_is_replaced_on_reinstallinhost/venue_registry.rs.e2e_trapped_adapter_is_swept_and_restarts,e2e_crash_looping_adapter_is_poisonedinsupervisor/tests.rs, over the newflaky-venuewasm fixture.cargo fmt --all --check,cargo check --workspace --all-features,cargo clippy --workspace --all-targets --all-features -- -D warnings,cargo nextest run --workspace --all-features,cargo test --doc.AI Assistance
Implemented with Claude Code under review.