Runway DLQ answers FAILED for a merge whose push already landed
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- go
- Domaine
- distributed-systems
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Go
- Étoiles
- 247
- Forks
- 16
- Merge moyen
- 2 j 1 h
- PR mergées (30 j)
- 125
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de uber/submitqueue
-
[Bug] Land returns codes.Unknown instead of InvalidArgument for an unrecognized strategyPeut-être pris @DivyanshGarg380 l’a pris il y a 14 jours. Ouvertebug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 22/100
uber/submitqueue#996 ·
Les mainteneurs répondent en général sous 2 jours
-
Batch-scoped DLQ reconciler fails requests that another live batch ownsPeut-être pris @burgulvedant l’a pris il y a 14 jours. Ouvertebug
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
uber/submitqueue#826 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
Cancel misses a batch mid-promotion, letting a cancelled request reach speculationPeut-être à nouveau libre @burgulvedant l’a pris il y a 14 jours, et aucune pull request n’est ouverte. Ouvertebug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
uber/submitqueue#825 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
uber/submitqueue#824 · 2 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
bug
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
uber/submitqueue#819 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de uber/submitqueue
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
kubescape/node-agent#1099 ·
Les mainteneurs répondent en général sous 1 jour
-
import-export
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
genealogix/glx#1498 ·
Les mainteneurs répondent en général sous 2 jours
-
Docs: 2 broken linksOuverteBug pulumi/pulumi-terraform-bridge R2 S2
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
pulumi/pulumi-terraform-bridge#3713 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ossf/pvtr-github-repo-scanner#539 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
goreleaser/goreleaser#7316 ·
Les mainteneurs répondent en général sous 1 jour