Partial deploy failure loses harness state — can create duplicate resources
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- typescript
Direzione di ricerca
Inizia con HarnessDeployer.deploy() e actions.ts intorno alle righe 531, 541 e 584, tracciando come vengono usati deployedHarnesses e writeDeployedState() in caso di errore. Conferma che un deploy non riuscito persista lo stato dell'harness A riuscito prima di restituire il controllo, così che il deploy successivo possa aggiornarlo invece di creare una risorsa duplicata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
If deploying harness B fails after harness A succeeds, the partial state (containing harness A's new ID) is never persisted to disk.
Flow:
HarnessDeployer.deploy()returns{ success: false, state: resultState }—resultStatecontains harness A's IDactions.ts:531extracts the state intodeployedHarnessesactions.ts:541returns early with an error — beforewriteDeployedState()at line 584
On next deploy attempt, the state file doesn't know harness A exists. The deployer takes the CREATE path (createHarness with clientToken: randomUUID()), producing a duplicate cloud resource. The previous harness A is orphaned.
Expected behavior
Partial state should be persisted even on failure, so the next deploy attempt can UPDATE existing harnesses rather than re-creating them.
Possible fix
Write deployed state before the early return at line 541:
if (harnessDeployError) {
// Persist partial state so successfully-created harnesses aren't orphaned
await configIO.writeDeployedState(buildDeployedState(...));
return { success: false, error: harnessDeployError };
}
Context
Found during review of #1341.
- Lingua principale
- TypeScript
- Stelle
- 291
- Fork
- 96
- Merge medio
- 20h 50m
- PR unite (30g)
- 214
Guida per i contributori
Apri 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 aws/agentcore-cli
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
aws/agentcore-cli#2395 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
aws/agentcore-cli#2392 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
aws/agentcore-cli#2267 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aws/agentcore-cli#2258 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
aws/agentcore-cli#2176 ·
Tutte le issue di aws/agentcore-cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
receptron/mulmoterminal#2264 ·
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
components-web-app/docs#96 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
simonsobs/tileviewer#114 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100