Batch-scoped DLQ reconciler fails requests that another live batch owns
I maintainer di solito rispondono entro 2 giorni
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- distributed-systems
Direzione di ricerca
Read dlq/request.go for the existing owningBatch guard, then trace failBatch and its batch.Contains fan-out. Add coverage for a request owned by another non-terminal batch and for the reconciled batch's own members; done means only requests not owned by another live batch are terminated.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
The batch-scoped DLQ reconciler fails requests that another live batch owns. That batch may go on to merge the change, which leaves the request reported error for a change that lands.
How it is reached
A lost ack on the batch topic leaves two batch attempts for one request. If the redundant attempt's dependency-analysis message exhausts its retries (for example, a storage error while resolving dependencies), it dead-letters while still in creating. failBatch then moves it to failed and fans out over batch.Contains, terminating a request that reads batched and belongs to the first, healthy batch. TerminateRequest declines only when the request is already terminal, and batched is not terminal.
The guard to mirror
owningBatch in dlq/request.go already answers "which batch owns this request" for the request-scoped reconciler. The batch-scoped fan-out needs the inverse: skip a request when some other non-terminal batch owns it. The guard must exclude the batch being reconciled, or the batch counts as its own members' owner and the fan-out never happens.
Found in review of #590. As of 6c050082 the fan-out in failBatch has no ownership guard.
- 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
-
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à 4/5 3-5 giorni Idoneità per principianti 55/100
uber/submitqueue#820 ·
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