Runway DLQ answers FAILED for a merge whose push already landed
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- go
- Área
- distributed-systems
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Go
- Estrellas
- 247
- Forks
- 16
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 125
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de uber/submitqueue
-
[Bug] Land returns codes.Unknown instead of InvalidArgument for an unrecognized strategyPosiblemente ocupada @DivyanshGarg380 la tomó hace 14 días. Abiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 22/100
uber/submitqueue#996 ·
Los mantenedores suelen responder en 2 días
-
Batch-scoped DLQ reconciler fails requests that another live batch ownsPosiblemente ocupada @burgulvedant la tomó hace 14 días. Abiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
uber/submitqueue#826 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Cancel misses a batch mid-promotion, letting a cancelled request reach speculationQuizá libre de nuevo @burgulvedant la tomó hace 14 días y no hay ningún pull request abierto. Abiertobug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
uber/submitqueue#825 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
uber/submitqueue#824 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
uber/submitqueue#819 · 1 comentario ·
Los mantenedores suelen responder en 2 días
Todos los issues de uber/submitqueue
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
kubescape/node-agent#1099 ·
Los mantenedores suelen responder en 1 día
-
import-export
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
genealogix/glx#1498 ·
Los mantenedores suelen responder en 2 días
-
Docs: 2 broken linksAbiertoBug pulumi/pulumi-terraform-bridge R2 S2
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
pulumi/pulumi-terraform-bridge#3713 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ossf/pvtr-github-repo-scanner#539 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
goreleaser/goreleaser#7316 ·
Los mantenedores suelen responder en 1 día