Skip to content

atelet: a detach whose upload attempt times out is Unavailable - #3532

Open
Davanum Srinivas (dims) wants to merge 1 commit into
agent-substrate:mainfrom
dims:detach-upload-timeout
Open

Davanum Srinivas (dims) wants to merge 1 commit into
agent-substrate:mainfrom
dims:detach-upload-timeout

Conversation

@dims

@dims Davanum Srinivas (dims) commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Under load many actors on a full node are resumed at once. Each resume detaches the actor first, which uploads its snapshot, so dozens of uploads run against the object store at the same time. An attempt can run out of its own upload timeout.

The tracker keeps the local snapshot and retries the upload on the next attempt. But the error it returned had no gRPC code, so the detach failed as Internal:

DetachFromFullNode: while calling atelet DetachActor: ... while uploading snapshot manifest: DeadlineExceeded

The router answered 500, which the client cannot retry. One case of #646.

Return Unavailable when the attempt timed out while the caller's context is still live. detachActorError maps Unavailable to a retryable failure, so the router keeps the request parked and retries the resume.

Written with Claude Code: it found the path in api-server logs and wrote the change and the test.

@msau42 Michelle Au (msau42) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, just one test comment

At 6x and 8x on microVM every resume of an actor whose node is full
detaches it, and dozens of snapshot uploads run against the object
store at once. An attempt that runs out of its own time keeps the local
copy and the tracker retries it, but the plain error reached the API as
Internal and the router answered 500, which the client cannot retry.
Report it as Unavailable: the API already maps that to a retryable
failure and the router keeps the request parked.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
@dims

Copy link
Copy Markdown
Collaborator Author

Michelle Au (@msau42) fixed. PTAL

This branch has not been deployed

No deployments
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.

2 participants