Skip to content

ateapi: crash the actor when atelet's returned snapshot state conflicts - #2794

Merged
Zoe Zhao (zoez7) merged 1 commit into
agent-substrate:mainfrom
igooch:persist-async-suspend-uri
Oct 19, 2026
Merged

Zoe Zhao (zoez7) merged 1 commit into
agent-substrate:mainfrom
igooch:persist-async-suspend-uri

Conversation

@igooch

@igooch igooch commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Finalize applies the snapshot state atelet returns from Checkpoint. When that state conflicts with the actor's record, finalize returned an error, and the comment said a retry could call atelet again. A retry can't recover. Atelet has already destroyed the workload, so the retried Checkpoint fails and the actor crashes with a reason that hides the conflict.

This PR crashes the actor at the conflict instead. The crash reason names the conflict, matching finalize's other checks for a corrupt record, and atelet's error is logged.

No proto or API changes.

Earlier versions of this PR also recorded the async upload URI and named it on resume, released dropped durable snapshots, and tested the snapshot's locality in the template-repoint guard. Main now has all of these from other PRs, so this PR keeps only the crash.

@igooch
igooch force-pushed the persist-async-suspend-uri branch from 3070314 to 5bd8b9b Compare October 17, 2026 05:37
Finalize returned an error when the snapshot state atelet returned from
Checkpoint conflicted with the actor's record, so a retry could call
atelet again. A retry can't recover: atelet has already destroyed the
workload, so a retried Checkpoint fails, and the actor crashes with a
misleading reason. Crash the actor at the conflict instead, with a
reason that names it, as finalize's other corrupt-record checks do, and
log atelet's error.
@igooch
igooch force-pushed the persist-async-suspend-uri branch from 5bd8b9b to a0d1762 Compare October 19, 2026 03:44
@igooch igooch changed the title Async suspend records its upload URI, so resume works after atelet detaches the actor ateapi: crash the actor when atelet's returned snapshot state conflicts Oct 19, 2026
@igooch
igooch marked this pull request as ready for review October 19, 2026 04:03
@zoez7
Zoe Zhao (zoez7) added this pull request to the merge queue Oct 19, 2026
Merged via the queue into agent-substrate:main with commit 97b871f Oct 19, 2026
15 checks passed
@igooch
igooch deleted the persist-async-suspend-uri branch October 27, 2026 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants