Skip to content

atelet: a node that never hosted a golden can't serve a first restore #1238

Description

@ygao-g

Measured on GKE 3-node, 1.35.6-gke.1710000, gVisor, demos/counter. 3 workers on 3 nodes with one ActorTemplate, found that on a node that never ran a golden, static-files is absent entirely. As a result, resumes actor on workers of other 2 nodes cause livelock. Tested this hypothesis by moving all workers to the warm node gives HTTP 200 in ~1 s; then cordoning it so a new template's golden lands on a cold node flips that node to warm and it resumes instantly — same node, cache alone.
e2e misses it because every suite creates its own template, hence its own golden and a warm node, before resuming anything — and single-node kind shares one cache across all workers.

The actor is also unreapable. After minutes in ACTOR_STATE_RESUMING, suspend returns MarkSuspending prerequisite not met (got: ACTOR_STATE_RESUMING, want ACTOR_STATE_RUNNING or ACTOR_STATE_PAUSED) and delete returns not in a deletable state. The only move left is deleting the worker pod, which makes the actor CRASHED.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions