Skip to content

test: cover SharedStream waiting waker replacement - #8392

Open
lance-gatefixer[bot] wants to merge 1 commit into
mainfrom
gatekeeper/fix-2391-1
Open

test: cover SharedStream waiting waker replacement#8392
lance-gatefixer[bot] wants to merge 1 commit into
mainfrom
gatekeeper/fix-2391-1

Conversation

@lance-gatefixer

Copy link
Copy Markdown
Contributor

Summary

  • add deterministic regression coverage for repeatedly polling the waiting half of a SharedStream
  • protect the existing behavior that replaces a stale waiting waker

Root cause and repair

A consumer may be polled more than once while the other half owns polling of the inner stream. The original implementation asserted that no waiting waker was already stored, but repeated or spurious polls are valid and triggered the panic reported in #2391. Current main already contains the production correction from #3079, which replaces the stale waker; this PR adds the missing deterministic regression test that fails with the original assertion.

Validation

  • cargo test -p lance-core
  • cargo fmt --all
  • cargo clippy --all --tests --benches -- -D warnings

Fixes #2391

@github-actions github-actions Bot added the chore label Aug 7, 2026

@lance-gatekeeper lance-gatekeeper Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Gate recommendation: approve.

The deterministic regression test covers the valid repeated-poll path that previously triggered SharedStream’s stale-waker assertion, without changing production behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Potential panic in shared stream (used by merge insert with scalar index)

0 participants