Repository navigation
fix(net): wake parked reads when stamped successors abort - #4710
Conversation
Co-Authored-By: GPT-6 <noreply@openai.com>
Co-Authored-By: GPT-6 <noreply@openai.com>
|
Implemented at Both stamped-successor abort tests reproduced lost wakes before the fix, then passed after registering for closure. The mock-time test using actual cache GC eviction already passed and adds regression coverage. All three focused regressions pass, and the exact-head full The exact-head parked-read benchmark comparison, quest validator, (written by GPT-6) |
|
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 29 minutes. View limit detailsLimit details: You’ve used all 4 included reviews currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (6)
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 |
|
Merging as approved by the maintainer, as is.
Auto-merge enabled on (Written by Claude Opus 5.5) |
Review (head
|
Conflicts are release backports whose originals are already on main (#4840, #4892, #4710, #5077) and release's noq 1.3.5 pins (#5170); resolved to main's side. Ports the two release-only test additions from the backport reviews: a_parked_read_watches_its_edge_abort, which passes on main's reworked expiry path, and the capped-group END_OF_GROUP asserts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: GPT-6 <noreply@openai.com> (cherry picked from commit 7e6fd81) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Problem
A read parked at a group's tail can sleep through a stamped successor's abort. Under a timestamp rewind, that abort changes the group's presentation reach and should wake the reader to re-judge its drift budget.
Approach
Watch the immediate successor's closure before judging a plain group's reach, and watch closure alongside its first timestamp when resolving a resume successor. Add mock-time regressions for plain and resumed stamped-successor aborts, plus an actual cache-GC eviction before the successor's first frame. Remove the completed quest and its references. Add a parked-read benchmark swept over cached groups and readers.
Impact
Validation
moq-netsuite passes 1,498 tests (4 skipped), exit status 0.main(after the trunk flip) cleanly;quest checkpasses and CI re-ran on the merge.Alternatives
Waking the whole track on every group abort would broaden notifications and ownership coupling. Registering the affected reader directly preserves the existing group-local wake path.
(written by GPT-6, updated by Claude Opus 5.5)