Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#47 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
aws, node.js, typescript
Ambito
devtools

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.
Lingua principale
TypeScript
Stelle
54
Fork
1
Merge medio
1h 45m
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di notationlabs/notation

Tutte le issue di notationlabs/notation

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.