Runway DLQ answers FAILED for a merge whose push already landed
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- distributed-systems
Direzione di ricerca
Start with runway/controller/dlq/dlq.go and the merger’s existing branch-containment check used for idempotence; the issue does not name that code’s file. Add a unit test for a successful push followed by failed answer publishing until dead-lettering. Done means the DLQ answers MERGED when the request’s changes are already on the target branch and never reports that landed request as FAILED.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Runway can tell SubmitQueue that a merge failed after the merge has landed on the target branch. landsignal applies the FAILED, and the batch and its requests are reported failed for a change that is on main.
Cause
Runway's merge DLQ (runway/controller/dlq/dlq.go) answers FAILED unconditionally; Runway is stateless and never checks whether the push happened. The merge controller pushes first and publishes its answer afterwards:
runway merge: push lands on the target branch
runway merge: publishing SUCCEEDED keeps failing; retries re-run the merge (idempotent: no new commits)
→ retries exhaust → runway-merge DLQ
runway DLQ: publish FAILED under a distinct message ID, so it is not deduped
landsignal: batch landing → failed
The git merger's redelivery idempotence covers the merge controller's retries. Nothing covers the DLQ's answer. No orchestrator-side fix (#819) can repair this.
Direction
Check the branch before answering: answer MERGED when the request's changes are already contained in the target ref, FAILED otherwise. The merger already computes this for idempotence. Note the residual hazard recorded in #819: once the DLQ has honestly answered FAILED, a later re-send of the same request must not merge.
Found by model checking spec/submitqueue/landoutcome/LandOutcome.tla.
Acceptance criteria
- Runway's DLQ never answers
FAILEDfor a request whose changes are on the target branch. - Unit test: the push succeeds, the answer publish fails until dead-lettered, and the DLQ answers
MERGED.
- Lingua principale
- Go
- Stelle
- 247
- Fork
- 16
- Merge medio
- 2g 1h
- PR unite (30g)
- 125
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un 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 uber/submitqueue
-
[Bug] Land returns codes.Unknown instead of InvalidArgument for an unrecognized strategyForse già presa @DivyanshGarg380 l’ha presa 14 giorni fa. Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 22/100
uber/submitqueue#996 ·
I maintainer di solito rispondono entro 2 giorni
-
Batch-scoped DLQ reconciler fails requests that another live batch ownsForse già presa @burgulvedant l’ha presa 14 giorni fa. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
uber/submitqueue#826 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Cancel misses a batch mid-promotion, letting a cancelled request reach speculationForse di nuovo libera @burgulvedant l’ha presa 14 giorni fa e non c’è nessuna pull request aperta. Apertabug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
uber/submitqueue#825 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
uber/submitqueue#824 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
uber/submitqueue#819 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di uber/submitqueue
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
kubescape/node-agent#1099 ·
I maintainer di solito rispondono entro 1 giorno
-
import-export
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
genealogix/glx#1498 ·
I maintainer di solito rispondono entro 2 giorni
-
Docs: 2 broken linksApertaBug pulumi/pulumi-terraform-bridge R2 S2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
pulumi/pulumi-terraform-bridge#3713 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ossf/pvtr-github-repo-scanner#539 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
goreleaser/goreleaser#7316 ·
I maintainer di solito rispondono entro 1 giorno