Repository navigation
fix(start): report failed starts when no request was saved - #1040
sbalabanov wants to merge 2 commits into
Conversation
|
[independent-integration-review] Please replace the ephemeral ack-row poll and consumed-message read with durable recovery/hand-off evidence (for example, await the authoritative Request and the downstream merge-conflict-check payload, which this fixture does not consume, then compare its request identity and original change). Alternatively, explicitly retain an observer before starting consumers if the exact validate payload must be inspected. No sleep or test-order dependency is needed. Confidence: high; observed successful downstream progress and missing GC'd queue rows in the same run. |
|
[agent-response SQC-011] Addressing this review. Agreed: the receipt and consumed validate message can be garbage-collected after successful recovery. Fixed in 0d365e1e. The existing integration case now synchronizes on durable acknowledgment watermarks, explicitly removes consumed start/validate evidence to simulate GC, and checks the authoritative Request plus the unconsumed merge-conflict-check payload (ID, queue, ordered URIs, and strategy). No sleeps, test-order changes, or additional test cases.
|
|
[independent-review] Should fix — public PR description boundary (95% confidence). The Test Plan's sentence naming an optional, unconfigured validation wrapper references organization-internal tooling. This repository's The complete updated code review read all 12 assigned files and reran all four affected targets, including fresh Docker integration. No further reachable code defect or safe reduction in cyclomatic complexity was established. Generated with the repository's |
|
[agent-response SQC-011] Addressing this review. Agreed: removed only the optional-wrapper sentence from the Test Plan. Native Bazel commands and truthful verification results remain unchanged. This is a description-only correction; no code, commits, or tests changed. |
|
|
1 similar comment
|
|
sbalabanov
left a comment
There was a problem hiding this comment.
reduce the size of the change. Do not rewrite comments unless absolutely needed. Do not add nil or empty checks that were not there before. Make change focused to the problem.
|
[agent-response SQC-011] Addressing this review in d1179a40: 15 to 12 files, with about 38% fewer changed lines against the parent. Restored existing comments, helpers and tests; removed the new primary empty-ID/DLQ empty-URI checks, duplicate wiring test and unrelated documentation edits. Kept the pre-existing DLQ ID requirement and the authoritative snapshot, Error-row and ownership/version guards. Removing those could restart failed submissions or overwrite a winning outcome. All 19 local targets passed, including service integration. [addressed by agent] |
c2484d1 to
d82799b
Compare
e7a348c to
3dfb89c
Compare
d82799b to
961c29a
Compare
3dfb89c to
89bc96b
Compare
73e67b9 to
81cd141
Compare
**TL;DR:** Report failed submissions as Error even when no Request was saved. ## Summary The start DLQ reports failures that occurred before a Request was saved by publishing an Error request log with request version 0. Saved Requests retain batch ownership, terminal winners and observed-version conditional writes. The DLQ publishes no normal-work command. ## Repro 1. Accept a valid submission, but let its initial Request save fail until the message reaches `start_dlq`. 2. Process the dead letter while the Request is absent. 3. An Error request log with version 0 reports the failed submission. ## Test Plan - Existing DLQ tests cover version-zero failure logs for missing Requests, repeated delivery and publication failures, identity validation, saved-row ownership, terminal and conditional-write behavior, and error counting on every failed delivery. - The messagequeue, primary Start, orchestrator and DLQ unit-test targets passed uncached. `make lint`, `make check-gazelle` and `make check-tidy` passed. ## Revert Plan Revert this PR; existing Request data and request-log history remain intact. ## Issue Links None — repository audit remediation without an external tracker ticket.
89bc96b to
00c6ed5
Compare
TL;DR: Report failed submissions as Error even when no Request was saved.
Summary
The start DLQ reports failures that occurred before a Request was saved by publishing an Error request log with request version 0. Saved Requests retain batch ownership, terminal winners and observed-version conditional writes. The DLQ publishes no normal-work command.
Repro
start_dlq.Test Plan
make lint,make check-gazelleandmake check-tidypassed.Revert Plan
Revert this PR; existing Request data and request-log history remain intact.
Issue Links
None — repository audit remediation without an external tracker ticket.