test(dst): account for re-executed ack-loss retries - #692
Merged
azimafroozeh merged 1 commit intoSep 9, 2026
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
The ack-loss fleet reports extra edge rows when recovery completes the first insert and the client retries it. The model only counts one insertion. Account for both attempts using the retry result and exact row comparisons, and re-enable
dst_ack_loss_client_retry.Successful retries must remain visible. A retry refused for the original recovery operation cannot justify another insertion. Extra or unrelated rows still fail.
Reconciliation validates exact before/after row candidates and compares their counts explicitly. A detector test covers all zero/one/two-insertion transitions, including recovery losing one of two visible insertions. Row-oracle tests cover both initially absent and existing pairs. Before-reopen capture also covers refused retries; its regression proves the original visible insertion cannot disappear while a second insertion remains forbidden.
Backing issue / RFC
Follow-up to the known harness gap documented in PR 662. No separate accepted backing issue is recorded yet.
Checklist
Local verification
Commands run from
crates/omnigraph-dst:cargo test --locked: 30 unit tests, 51 scenarios, lane-B and torn-init passed after the review improvements.cargo check --locked -p omnigraph-dst: passed.cargo clippy --locked -p omnigraph-dst --all-targets -- -D warnings -W clippy::dbg_macro: passed.cargo fmt --all --check: passed.scenariostest binary withdst_fleet --exact --ignored --nocapture, the crate Cargo-config environment, and each shard’sDST_FLEET_SEED_BASE/DST_FLEET_SEEDS=60.The regression covers seed 79 (final export mismatch) and seed 226251 (one-op arbitration mismatch), each with strict replay and an explicit two-insertion verdict. The full DST suite and all six nightly shards were rerun after the final refused-retry capture fix.