Skip to content

feat: restart failed actors within a per-source budget#79

Merged
joshua-temple merged 1 commit into
mainfrom
feat/cluster-restart
May 31, 2026
Merged

feat: restart failed actors within a per-source budget#79
joshua-temple merged 1 commit into
mainfrom
feat/cluster-restart

Conversation

@joshua-temple
Copy link
Copy Markdown
Collaborator

Adds the Restart supervision decision: a failed actor is re-spawned through a Respawner (the node's System, via a new Respawn primitive that tears down the dead instance and spawns a fresh one under the same id), bounded by a per-src restart budget set with WithRestart. Each actor id may restart up to its src's limit; once the budget is spent the failure escalates instead, so a crash-looping actor cannot restart-storm. The respawner is wired with WithRespawner or SetRespawner (the System is usually built after the Supervisor, so the setter is the ergonomic path). The supervisor records the decision it actually applied, so an exhausted-budget failure shows as an escalation. Backoff (timed restart) builds on this next. Coverage: cluster 99 percent. Additive; stdlib-only.

Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple joshua-temple merged commit d4d893b into main May 31, 2026
10 checks passed
@joshua-temple joshua-temple deleted the feat/cluster-restart branch May 31, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant