Repository navigation
fix(shaper): verify reorder only on admitted datagrams - #6037
Conversation
Co-Authored-By: GPT-6.1-Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1-Sol <noreply@openai.com>
|
Quest outcome: the exact seed reproduced the original verifier failure on No public API or wire changes, open implementation decisions, or remaining local checks. All owned commands have ended. The PR remains draft under the user's explicit no-merge instruction. (written by GPT-6.1-Sol) |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
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 4 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. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # quest/m1/test-flakes-2/README.md
Problem
The exact flapping-peer seed
783778834340462316still failed on maine900b9f62a3c63ba577811974f45119f3251194e, after moq-dev/moq#5943. Recovery succeeded, but impairment verification counted lost and overflowing datagrams as chances for reorder to act. The failing path had 499 datagrams but only 436 could apply delay or reorder.Approach
Count loss exposure separately from admission to delay/reorder, preserving each decision's phase. Keep the existing probability cutoff, seeded draws, impairment profile, and delivery assertions. Add deterministic recorded-count and actual admission-path regressions, then remove the completed quest and its reference.
Decisions
origin/mainto bring the branch up to date: ✅ merge (no conflicts) / rebase (never, per the repo rules).Validation
MOQ_SHAPER_SEED=783778834340462316 just test drill -E 'test(=bursts_cross_a_flapping_peer::impaired)' --success-output immediate.d1907360df980f7620caf36648b0a87f7f5f6bf1:just check e900b9f62a3c63ba577811974f45119f3251194epassed.origin/mainmerge (head7184eea474589e5d4fffad17482d3390e745f573): the seed replay passed again (16.5s), andjust checkpassed every gate (644 + 216 tests, lint, quest, drill mutations, flake) exceptbench/relay.test.py'stest_a_foreign_listener_never_proves_relay_readiness. That fixture is untouched here and fails the same on main on this host: itshold.pypicks a random port that collided with a busy listener (EADDRINUSE), so the harness blocks forever reading the never-written.readyFIFO.origin/mainmerge (head07382b2563, quest README conflict resolved by keeping main's new macOS QUIC child and dropping this completed quest's entry):just checkpassed in full, includingbench/relay.test.py.Impact
Alternatives
Changing the seed, profile, cutoff, timeouts, or delivery assertions would hide the accounting bug.
Follow-ups
bench/relay.test.pyforeign-listener fixture: a port collision inhold.pyhangs the test instead of retrying or failing, which breaksjust checkon loaded hosts.🤖 Generated with Claude Code
(Written by Claude Opus 5.5)