Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#47 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
42/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
aws, node.js, typescript
Domaine
devtools

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
TypeScript
Étoiles
54
Forks
1
Merge moyen
1 h 45 min
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de notationlabs/notation

Toutes les issues de notationlabs/notation

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.