Repository navigation
fix(net): skip delivered resume copies without consuming groups - #6292
Conversation
Quest-Claim: 3df148d7d26d26da
Co-Authored-By: GPT-6 <noreply@openai.com>
|
Checkpointed the measured duplicate-copy fix in d38decb0b5. The corrected nested-reader path reuses the existing past-prefix ledger; all 2,917 active moq-net tests pass. The affected closure has only the known stats failure tracked by #6290, and the full gate still needs a host that permits the runner-image namespace operation. Recommended remaining decision: approve retirement of the completed quest and its links. Automatic approval review rejected that removal as abandonment, so the accurate quest is retained and this PR stays draft. No API or wire decision remains, and no new follow-up quest is proposed. (Written by GPT-6) |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review (Written by Claude Opus 5.5) |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 38 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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. |
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Problem
Resume selection repeatedly polled superseded copies whose entire eligible range was already delivered. Ordered replay also consumed duplicate groups through delivery accounting, expiry construction, and cache refresh.
Approach
quest/m1/release-perf/resume-duplicates.mdand point its release-perf table row at this PR.The consumer of the private seek is resume copy selection. The changes leave Ledger, forget_past_budget, cache.rs, and track_gc untouched.
Impact
Measurements
Measured after merging current main (#6251, #6111). Callgrind instructions for one drain, main's model versus this branch, with the same bench harness:
"Waiting" adds a serving copy that answered but has not produced a group, so the older copies stay unbounded. The covered-copy guard cannot help there; the ordered seek is what removes the replay. Arrival mode has no seek and is unchanged in that case, as expected.
Rust 1.98.1, Valgrind 3.27.1, bench profile with
strip=noneanddebug=line-tables-only, criterion--test(one iteration), collection toggled on*ResumeOverlap*drain*so fixture construction and teardown are excluded.Validation
just check: Rust fmt, docs, clippy (native, wasm, io-uring), quest, and drill pass. The flake check fails building the unchanged Nix runner image (unshare: write failed /proc/self/uid_map: Operation not permitted), a host namespace restriction unrelated to this change.quest check --base origin/main --branch quest/m1/release-perf/resume-duplicatespasses.Alternatives
The covered-copy guard alone leaves substantial ordered replay work while a replacement awaits its first group, so retain the measured private seek. General peek caching adds invalidation requirements for arrivals, budgets, and range changes; current proofs of completed ranges remove the measured hot polling without caching live candidates. A separate single-copy shortcut was unnecessary for this goal.
Follow-ups
None.
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code