Repository navigation
Conversation
Quest-Claim: fdf829fbda9880f0
Lite-07 keeps the Subscribe Stream open past SUBSCRIBE_FINISH, so the bench stops once every group is dropped instead of waiting for the stream's end. Drops are half-open, and the track keeps every group (maxAge null) so all of them are offered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. WalkthroughThe subscribe-drop benchmark track now sets Severity of issue fixed: Medium Merge Risk:
|
…r's drop cost Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- The drop loop stops on accounting, not stream end.
js/net/bench/subscribe-drop.tsnow reads responseswhile (dropped < groups)and still throws ondropped !== groups, so an early stream end fails loudly instead of hanging — and it no longer waits for an end lite-07 never sends after SUBSCRIBE_FINISH. - Drop ranges count exclusively.
end - startmatches the documentedSubscribeDrop.end("One past the last dropped group sequence") and the existing gate test atjs/net/src/lite/publisher.test.ts:2591-2598, which the new loop mirrors. - The track keeps all 128 groups.
maxAge: nullis the documented JS spelling for unlimited history after authored tracks gained a zero-maxAgedefault, so the sweep measures failed group sends again rather than a single live-edge group. - Quest bookkeeping. Closes
quest/m0/js-subscribe-drop-hang.md, drops its back-reference from the compression-bench quest, and files the 1×1 drop-cost question underquest/m4/perf/. No tracked reference to the deleted quest remains, and the perf questline README indexes epics only.
Verified locally: bun js/net/bench/subscribe-drop.ts prints all 9 CSV rows in 32.5 s (exit 0), and bunx tsc --noEmit -p net/bench/tsconfig.json is clean. Absolute timings differ from the author's run (1097 µs vs 1190 µs at 1×1, 183 µs vs 570 µs at 16×16), but the 1×1 outlier reproduces — the shape the follow-up quest targets.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Summary
just js bench subscribe-drophung after its CSV header, stallingNightly (JS benchmarks)until its 60-minute timeout. Reproduced locally. The hang came from the benchmark, not@moq/net, so no merge-gate test is added:SubscribeDrop.endis exclusive now, but the benchmark still counted it as inclusive (+ 1n).maxAge: null, so all 128 groups drop again.Local run:
Caused by
Follow-ups
Impact
No public API or wire change; benchmark only.
Checks
just checkpasses.Models
Size: S
Implementer: Claude Code, claude-opus-5-5, low effort
🤖 Generated with Claude Code
(Written by Opus 5.5)
Review
Rewritten by
quest reviewafter each round.01a1ccd0-b89e-7a13-9800-7bd58e7db7a2, round 2The changes since the reviewed head only close the completed task and document a performance follow-up, with no new actionable defects or changes to the previously approved implementation.