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

watch: a failed deploy blocks every later deploy on the deployment hold

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

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
aws, node.js, typescript
Área
devtools

Línea de trabajo

Start with packages/reconciler/src/durable/deployment-hold.ts and trace how watch creates execution IDs for deploys. Compare the hold behavior on failure with the watch rebuild flow; the issue lists resuming the failed execution or clearing its hold as possible directions. Done means a failed deploy no longer leaves later deploys in the same watch session hanging.

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

Descripción

Problem

After one deploy fails during notation watch, every later deploy in that session hangs forever on reconciler.hold.waiting.

withDeploymentHold (packages/reconciler/src/durable/deployment-hold.ts) deliberately keeps the hold when an execution fails, so the same execution can be resumed with --execution-id. But watch starts each deploy with a new randomUUID() execution ID and never resumes the failed one. So the next deploy waits for a holder that will never finish, and the only way out is to clear the hold manually.

Repro

  1. Run notation watch infra/api.ts with invalid AWS credentials, so the first deploy fails with InvalidClientTokenId.
  2. Edit a runtime file to trigger a rebuild.
  3. The second deploy logs reconciler.hold.waiting with holderExecutionId set to the first execution, then hangs.

This predates the move to child-process deploys (7735a67), since watch has always used a new execution ID per deploy.

Possible directions

  • Have watch resume the failed execution ID on the next rebuild, rather than starting a new one.
  • Or have watch clear its own failed execution's hold (it knows the holder is dead) before starting the next deploy.
Lenguaje dominante
TypeScript
Estrellas
54
Forks
1
Merge medio
1 h 45 min
PR fusionados (30 d)
1

Preparar el entorno

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 notationlabs/notation

Todos los issues de notationlabs/notation

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.