Runway DLQ answers FAILED for a merge whose push already landed
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- go
- Bereich
- distributed-systems
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Go
- Sterne
- 247
- Forks
- 16
- Ø Merge
- 2 T. 1 Std.
- Gemergte PRs (30 T.)
- 125
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus uber/submitqueue
-
[Bug] Land returns codes.Unknown instead of InvalidArgument for an unrecognized strategyEvtl. vergeben @DivyanshGarg380 hat das vor 14 Tagen übernommen. Offenbug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 22/100
uber/submitqueue#996 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Batch-scoped DLQ reconciler fails requests that another live batch ownsEvtl. vergeben @burgulvedant hat das vor 14 Tagen übernommen. Offenbug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
uber/submitqueue#826 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Cancel misses a batch mid-promotion, letting a cancelled request reach speculationEvtl. wieder frei @burgulvedant hat das vor 14 Tagen übernommen, und es ist kein Pull Request offen. Offenbug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
uber/submitqueue#825 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
uber/submitqueue#824 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
uber/submitqueue#819 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in uber/submitqueue
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
kubescape/node-agent#1099 ·
Maintainer antworten meist innerhalb von 1 Tag
-
import-export
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
genealogix/glx#1498 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Docs: 2 broken linksOffenBug pulumi/pulumi-terraform-bridge R2 S2
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
pulumi/pulumi-terraform-bridge#3713 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
ossf/pvtr-github-repo-scanner#539 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
goreleaser/goreleaser#7316 ·
Maintainer antworten meist innerhalb von 1 Tag