Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Bug] With a pinned build ID, the controller keeps updating the Deployment after a template change

Abierto
#656 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@D-Joey-G ya está trabajando en esto.

Desde el 20/10/2026.

  • #662 de @D-Joey-G — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
58/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go, kubernetes

Línea de trabajo

Read internal/k8s/deployments.go around NewDeploymentWithOwnerRef and internal/planner/planner.go around checkAndUpdateDeploymentPodTemplateSpec and updateDeploymentWithPodTemplateSpec. Reproduce the issue by running the unit test mentioned in the report and calling the check again after an update. Done means the template hash uses consistent inputs so the second check no longer returns the Deployment for an unchanged spec.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

What are you really trying to do?

Change a pod template field on a WorkerDeployment that pins unsafeCustomBuildID and have it applied in place to the already-deployed version.

Describe the bug

The first update applies correctly, but then the controller detects drift on every reconcile and re-updates the same Deployment (~every 10s) until the spec changes.

The temporal.io/pod-template-spec-hash annotation is produced by hashing different inputs during creation vs update.

The impact is small. In my repro, the Deployment generation stayed constant across the updates without pod restarts, so the repeats are server-side no-ops. The cost is just an API write + a logline per reocncile per deployment.

Minimal Reproduction
  1. Create a WorkerDeployment with unsafeCustomBuildID: stable
  2. Change any pod template field
  3. Watch the controller log: "updating deployment" indefinitely

Can also be seen via a unit test: run checkAndUpdateDeploymentPodTemplateSpec again after an update and it will return the Deployment again.

Environment/Versions
  • temporal-worker-controller main at 8ece977
Additional context

I have a fix ready: hash the template before applying the controller. Happy to open a PR for this!

Lenguaje dominante
Go
Estrellas
197
Forks
79
Merge medio
3 d 13 h
PR fusionados (30 d)
25

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de temporalio/temporal-worker-controller

Todos los issues de temporalio/temporal-worker-controller

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.