Repository navigation
ateapi: crash the actor when atelet's returned snapshot state conflicts - #2794
Merged
Zoe Zhao (zoez7) merged 1 commit intoOct 19, 2026
Merged
Conversation
igooch
force-pushed
the
persist-async-suspend-uri
branch
from
October 17, 2026 05:37
3070314 to
5bd8b9b
Compare
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
force-pushed
the
persist-async-suspend-uri
branch
from
October 19, 2026 03:44
5bd8b9b to
a0d1762
Compare
igooch
marked this pull request as ready for review
October 19, 2026 04:03
Zoe Zhao (zoez7)
approved these changes
Oct 19, 2026
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.
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.