Skip to content

fix(index): release IVF late-search barrier for skipped deltas - #8350

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

fix(index): release IVF late-search barrier for skipped deltas#8350
lance-gatefixer[bot] wants to merge 1 commit into
mainfrom
gatekeeper/fix-8349-1

Conversation

@lance-gatefixer

Copy link
Copy Markdown
Contributor

Summary

  • make every IVF delta participate in the late-search barrier before taking the no-more-probes shortcut
  • add a regression test covering one delta that skips late search while a sibling continues probing

Root cause

The shared delta countdown was decremented only after the no-more-probes early return. When heterogeneous IVF segments took different paths, the skipped delta never released the barrier and its sibling waited forever.

Validation

  • cargo test -p lance test_delta_skipping_late_search_releases_sibling -- --nocapture
  • cargo test -p lance late_search -- --nocapture
  • cargo fmt --all -- --check
  • cargo clippy --all --tests --benches -- -D warnings

Fixes #8349

@github-actions github-actions Bot added the bug Something isn't working label Aug 6, 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.

Every delta now joins the existing completion barrier before any no-work exit, restoring the invariant that all initial searches finish before siblings begin late probing. The focused fix preserves current query behavior and adds regression coverage for the mixed-branch case.

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

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: a vector query hangs forever when one index segment skips its late search

0 participants