You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[P3] releaseActorOnDeadWorker does not clear AteomPodUid — diverges from crashActor cleanup #618
Severity: P3 (stale field; currently no operational impact but creates divergent state) Component: Control Plane — cmd/ateapi/internal/controlapi/syncer.go Audit ID: CP-7
Summary
releaseActorOnDeadWorker clears AteomPodNamespace, AteomPodName, AteomPodIp, InProgressSnapshot, and WorkerPoolName from the actor record when it crashes the
actor due to a dead pod. However, it does not clear AteomPodUid. The crashActor
function in crash.godoes clear AteomPodUid. This creates a divergent CRASHED
actor record depending on which code path caused the crash. The stale AteomPodUid
in syncer-crashed actors could confuse future validation logic that checks allPopulated := actor.AteomPodUid != "" && ....
File:cmd/ateapi/internal/controlapi/crash.go line 69:
actor.AteomPodUid=""// Present in crashActor, absent in releaseActorOnDeadWorker
Steps to Reproduce
# Have a RUNNING actor; delete the worker pod to trigger releaseActorOnDeadWorker
kubectl delete pod -n ate-system <worker-pod># Inspect the resulting actor record in Valkey
kubectl exec -n ate-system valkey-cluster-0 -- \
valkey-cli HGETALL actors:<atespace>:<actor-uid># AteomPodUid: <stale-uid> ← should be ""# AteomPodName: "" ← correctly cleared
Suggested Fix
Add actor.AteomPodUid = "" to releaseActorOnDeadWorker in syncer.go to match
the cleanup performed by crashActor:
changed the title [-]releaseActorOnDeadWorker does not clear AteomPodUid — diverges from crashActor cleanup[/-][+][P3] releaseActorOnDeadWorker does not clear AteomPodUid — diverges from crashActor cleanup[/+]on Jul 30, 2026
Activity
syncer: clear AteomPodUid when releasing an actor from a dead worker
[-]releaseActorOnDeadWorker does not clear AteomPodUid — diverges from crashActor cleanup[/-][+][P3] releaseActorOnDeadWorker does not clear AteomPodUid — diverges from crashActor cleanup[/+]Clear AteomPodUid when releasing an actor from a dead worker (agent-s…