docs: Document RevertActor and drop "terminal" from CRASHED (#1711)

`RevertActor` returns a RUNNING, PAUSED, or CRASHED actor to SUSPENDED
at its last external snapshot, so CRASHED is no longer a dead end that
only `DeleteActor` can clear. Docs and code comments still described it
as terminal and told operators to delete and recreate the actor, losing
its state.

Update the api-guide, architecture, upgrade guide, and kubectl-ate
README to cover the new verb, and correct the comments that justified
keeping a partial external snapshot by naming actor deletion as the only
remaining collector -- revert collects it too.

Follow up for the PR - #1675 
Issue - #1556 

- [x] Tests pass
- [x] Appropriate changes to documentation are included in the PR
This commit is contained in:
shrutiyam-glitch
2026-09-23 17:51:56 +00:00
committed by GitHub
parent 52c6a03c69
commit 47b67574ac
13 changed files with 52 additions and 31 deletions
+3 -1
View File
@@ -471,7 +471,9 @@ Actor that took it, and publishing it permits reuse from other Atespaces without
`atespace/name` address. Deleting a tag deletes that copy; an Atespace with
tags cannot be deleted until they are.
### Phase 4: Deletion
### Phase 4: Recovery (`RevertActor`) and Deletion (`DeleteActor`)
An actor in `ACTOR_STATE_RUNNING`, `ACTOR_STATE_PAUSED`, or `ACTOR_STATE_CRASHED` can be reverted back to `ACTOR_STATE_SUSPENDED` via `RevertActor`. Reverting terminates any active sandbox, discards any local pause checkpoint or partial in-progress snapshot, and preserves the actor's last completed external snapshot so a subsequent `ResumeActor` restores from that checkpoint.
By default, only actors in `ACTOR_STATE_SUSPENDED` or `ACTOR_STATE_CRASHED` state can be deleted from the Control Plane. With the `any_state` flag enabled, an actor in any state (such as `ACTOR_STATE_RUNNING` or `ACTOR_STATE_PAUSED`) can be deleted directly; the workflow terminates the running containers on the worker, detaches mounted volumes, and frees the worker assignment before deleting the record.