watch: a failed deploy blocks every later deploy on the deployment hold
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
- Run
notation watch infra/api.tswith invalid AWS credentials, so the first deploy fails withInvalidClientTokenId. - Edit a runtime file to trigger a rebuild.
- The second deploy logs
reconciler.hold.waitingwithholderExecutionIdset 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
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la 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 notationlabs/notation
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
notationlabs/notation#48 ·
-
state provider configAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
notationlabs/notation#34 ·
-
envs as configAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
notationlabs/notation#33 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
notationlabs/notation#16 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
notationlabs/notation#15 ·
Tutte le issue di notationlabs/notation
Issue simili
-
[good first issue, hacktoberfest] 🏯 Hacktoberfest Task - Add new Japan Fact 898 (good-first-issue)Apertacommunity first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
lingdojo/kana-dojo#33145 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
code-yeongyu/senpi#4278 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug] Activity | The activity list ignores taskIds and returns the activities of every taskForse già presa @NdekoCode l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ever-co/ever-gauzy#11469 ·
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 75/100
griffinwork40/agent-afk#4408 ·
I maintainer di solito rispondono entro 1 giorno