Skip to content

Actor crash detection (part 1/3): crash an actor if ateom pod has terminated#493

Open
Zoe Zhao (zoez7) wants to merge 4 commits into
agent-substrate:mainfrom
zoez7:crash-detect
Open

Actor crash detection (part 1/3): crash an actor if ateom pod has terminated#493
Zoe Zhao (zoez7) wants to merge 4 commits into
agent-substrate:mainfrom
zoez7:crash-detect

Conversation

@zoez7

@zoez7 Zoe Zhao (zoez7) commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Part of #292

This is the first CL for detecting a running Actor has crashed, and mark it as so in Redis. The overall plan is to

  1. Have each ateom to monitor the Actor container inside
  2. If a crash is detected, the Ateom will exit, this allows us to treat ateom and actor failures in the same way.
  3. The workerpool syncer already watch all worker pods. It will delete the worker pod and crash the actor.

This CL implements the logic in Workerpool syncer to detect ateom container terminated. There are 2 more PRs coming which will implement the logic to monitor actor process in ateom-gvisor and ateom-microvm.

@zoez7
Zoe Zhao (zoez7) force-pushed the crash-detect branch 2 times, most recently from 49e0181 to 6c9c30d Compare July 22, 2026 17:01
@zoez7
Zoe Zhao (zoez7) marked this pull request as draft July 22, 2026 17:05

@EItanya Eitan Yarmush (EItanya) 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.

Just some clarifying questions

Comment thread cmd/ateapi/internal/controlapi/syncer.go Outdated
}
}
// Deleting the pod, because the actor network may not have been cleaned up from the Ateom Pod's net NS.
if err := s.kubeClient.CoreV1().Pods(pod.Namespace).Delete(ctx, pod.Name, metav1.DeleteOptions{

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.

Maybe I'm totally misunderstanding something, if the ateom crashed wouldn't that automatically rollout the pod because we're using a Deployment under the hood?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is because the ateom container's crash will be detected by kubelet, which will restart the ateom container in the same pod.
You are right that once we delete this pod, the Deployment will automatically create a new one.

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.

🤦

And the worry is that there will be dangling networking and/or other resources if we don't manually kill the pod?

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