[Bug] Plan executor produces delete+update on same Deployment UID, then retries stale plan indefinitely
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- go, kubernetes
- Ambito
- infrastructure
Direzione di ricerca
Inizia in execplan.go tracciando la generazione e l'esecuzione del piano per la sequenza delete-then-update segnalata su un Deployment UID. Riproduci o testa il percorso di errore usando la sequenza di passaggi dell'issue; il lavoro è completo quando un piano non contiene entrambe le operazioni per lo stesso UID e un errore di esecuzione causa il calcolo di un nuovo piano a partire dallo stato corrente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The plan executor in execplan.go can produce a reconciliation plan that contains both a "delete Deployment" and "update Deployment" step for the same k8s Deployment resource. The delete succeeds, then the update fails on a stale UID precondition. The controller retries the same plan indefinitely without recomputing from current
state.
Environment
- Controller image: v1.5.x (exact TBD)
- Kubernetes: EKS 1.30
- Temporal: self-hosted (Cassandra-backed)
What happened
A helm release changed the desired image tag while an existing version was being sunset. The controller's reconcile plan included:
deleting deploymentforaccount-temporal-default-worker-17-235-1-9755✅deleted worker resource on version sunset(HPA) ✅updating deploymentforaccount-temporal-default-worker-17-232-4-559b✅updating deploymentforaccount-temporal-default-worker-17-235-1-9755❌
Step 4 failed:
StorageError: invalid object, Code: 4, Key: /registry/deployments/.../account-temporal-default-worker-17-235-1-9755,
ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: be213a24-..., UID in object meta: ""
The controller retried this exact plan for ~3 hours. Restarting the controller produced zero reconcile activity for this TWD — it didn't re-enqueue or recompute.
Impact
The Worker Deployment's current build (17.235.1-9755) had its k8s Deployment deleted but was never recreated. Zero pods existed for the current version. All new workflows routed to it were stranded.
Proposed fix
- Plan generator should not emit both delete and update for the same Deployment UID in a single plan.
- On plan execution failure, recompute the plan from current state rather than retrying the stale plan.
- Lingua principale
- Go
- Stelle
- 197
- Fork
- 79
- Merge medio
- 3g 2h
- PR unite (30g)
- 31
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di temporalio/temporal-worker-controller
-
[Feature Request] Helm chart: support topologySpreadConstraints on the controller DeploymentForse già presa @akolacz l’ha presa 4 giorni fa. Apertahelm
temporalio/temporal-worker-controller#658 · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
rbac
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
temporalio/temporal-worker-controller#654 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug: v1.6's delete-protection finalizer is never removed from migrated TemporalWorkerDeployment/TemporalConnection, so they stay Terminating after the v1.7 migrationForse già presa @niyomukiza-mechack l’ha presa 11 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
temporalio/temporal-worker-controller#644 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
AI agent skillsAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
temporalio/temporal-worker-controller#633 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
refactor integration testsAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 62/100
temporalio/temporal-worker-controller#632 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di temporalio/temporal-worker-controller
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
FiloSottile/age#758 ·
-
nginx configAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno