Repository navigation
design: dynamic supervisor (rank 12a) - #245
Draft
unbalancedparentheses wants to merge 54 commits into
Draft
unbalancedparentheses wants to merge 54 commits into
unbalancedparentheses wants to merge 54 commits into
Conversation
… and the weekly deep matrix
…history invariants, stuck isolation, terminate resolution)
…er, teardown owners, monitor guard)
…aller fairness, backoff switch, fan-out refinement, ignore, 40 controls)
…tuck classification, ignore, test plan)
…wners release on Down)
…tartError, Init::continue_with, StartOptions)
…finalization (Codex round 3, 1)
… NoAbort on a passing deadline-free config (Codex round 3, 2)
…tate, not Down reason, suppresses retries (Codex round 3, 3)
…rtOutcome/ChildStart mismatches fixed (agy round 3, 1)
…st published child, no ticket for directly consumed exits, fan-out ends on its last signal (agy round 3, 2)
…tuck (no false alarm for a later call)
…pendent restart policy
…ified start #259 rev. 3
…n); smaller per-PR configs; controls target the broad ones
…stuck generation (Callers liveness counterexample)
… Callers counterexample)
This branch has not been deployed
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.
Design only (no implementation) for ROADMAP rank 12a: a dynamic supervisor matching OTP
simple_one_for_oneand ElixirDynamicSupervisor.Revision 2 applies the maintainer's decisions on Q1-Q7 and resolves the first Codex and agy reviews (every P0/P1, plus both P2s). Per-finding resolutions are in the doc's "Review resolutions" section.
Decisions applied
terminate_child, as OTP; ethrex's handshake moves out ofstarted().max_children = None(Some(0)allowed).Shutdownwith diagnostics; static nested supervisors in a follow-up PR.terminate_childin a follow-up.Rejected { reason, args }before admission;AbortedandFailedToStartafterwards.Main review-driven changes
alive,RestartFollowsPolicyin both directions, first-start rules, terminate resolution, stuck isolation.ActorId, kept through failed replacements;terminate_slot.started(), the raw writer task becomes an owned helper, teardown owners for skippedstopped(), monitor guard inHandler<Down>.TLC (fede, TLC 2.19, 4 workers, nice 19)
MCDynamicSupervisor(per PR, safety)MCDynamicSupervisorLive(per PR, liveness)MCDynamicSupervisorZero(per PR, budget 0)MCDynamicSupervisorDeep(weekly)All 27 named negative controls (25 safety, 2 liveness) produce their counterexample on their named property, run one at a time, 1-5 s each.