Skip to content

test(net): subscribe the back-to-back loom model from group 0 - #5389

Merged
kixelated merged 2 commits into
mainfrom
fix/loom-back-to-back
Oct 13, 2026
Merged

kixelated merged 2 commits into
mainfrom
fix/loom-back-to-back

Conversation

@kixelated

@kixelated kixelated commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

back_to_back_groups_arrive_in_order fails under just rs loom on main with "second group": recv_group() returns Ok(None) instead of the second group.

This is a test bug, not a lost group. Since #5083, create_track(name, None) creates an untimed track. Per track::Consumer::subscribe, an unfloored subscriber on an untimed track starts at the latest group. Loom finds the interleaving where the publisher appends both groups before subscribe resolves. The cursor then starts at group 1, delivers it, and sees the finished track, so the test asked for something the API does not promise.

The fix subscribes from Position::group(0), which is what the test means: both groups, in order. The lock handoff it guards (waking group 1's waiters while group 2 is being written) is still exercised.

API / wire impact

None. Test-only change.

Verification

  • Reproduced on main with RUSTFLAGS="--cfg loom" cargo test --locked --release -p moq-net --test loom back_to_back.
  • just rs loom passes: kio 15/15, moq-net 13/13.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

An unfloored subscriber on an untimed track starts at the latest group, so
loom found the interleaving where both groups land before subscribe resolves
and the subscriber only ever sees the second.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-13T03:59:25.429981Z 9ef883c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You'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 10 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 13088a0e-f153-48fd-9d3c-6ac42de0c41e
📥 Commits

Reviewing files that changed from the base of the PR and between 46b55d8 and ae7554a.

📒 Files selected for processing (1)
  • rs/moq-net/tests/loom.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed 9ef883c. No actionable findings. The explicit group-0 floor matches Cursor::new's untimed-track semantics and preserves the concurrent publisher/reader model and both delivery/order assertions. This is a focused test correction with no production API or wire changes.

Reviewed the full patch, surrounding model, subscription/cursor implementation, and existing reviews. Static GitHub-only review; I did not run tests. Loom coverage remains bounded by the existing preemption limit and instrumented kio primitives.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merge summary

  • Test-only fix for the rs loom nightly failure in back_to_back_groups_arrive_in_order. Since feat(net)!: an undeclared Rust timescale means untimed #5083 an untimed track's unfloored subscriber starts at the latest group, so the model now subscribes from Position::group(0), which is what it asserts.
  • Reproduced the failure locally by reverting the change (panics with "second group"), then confirmed just rs loom passes on the merged head: kio 15/15, moq-net 13/13.
  • Merged main (no conflicts, no changes to the PR's file) and ran just check: passes.
  • The OpenAI review of 9ef883c had no findings; the only commit since is the main merge.
  • No API or wire impact. No open decisions or follow-ups.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge October 13, 2026 05:07
@kixelated
kixelated added this pull request to the merge queue Oct 13, 2026
Merged via the queue into main with commit 4fcb705 Oct 13, 2026
6 of 7 checks passed
@kixelated
kixelated deleted the fix/loom-back-to-back branch October 13, 2026 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant