Batch-scoped DLQ reconciler fails requests that another live batch owns
Maintainer antworten meist innerhalb von 2 Tagen
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- go
- Bereich
- distributed-systems
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Go
- Sterne
- 252
- 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
-
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 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
uber/submitqueue#820 ·
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
-
ManageSieve proxy: a backend's NO/BYE greeting is skipped as a capability line and reported as EOFOffenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Mend: dependency security vulnerability
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
ManageIQ/manageiq-pods#1476 ·
Maintainer antworten meist innerhalb von 1 Tag
-
mcp: typed tool handlers lose wrapped JSON-RPC errorsEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
modelcontextprotocol/go-sdk#1529 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
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