Skip to content

test: cover filtered legacy scans with stable row ids - #8391

Open
lance-gatefixer[bot] wants to merge 2 commits into
mainfrom
gatekeeper/fix-3507-1
Open

test: cover filtered legacy scans with stable row ids#8391
lance-gatefixer[bot] wants to merge 2 commits into
mainfrom
gatekeeper/fix-3507-1

Conversation

@lance-gatefixer

Copy link
Copy Markdown
Contributor

Summary

  • add end-to-end coverage for filtering a legacy dataset with stable row IDs
  • assert concurrent batch readahead returns all 400 rows with 400 unique IDs

Root cause

The historical legacy filtered-scan path sliced the stable row-ID sequence by output-batch offset instead of the physical selection in ReadBatchParams, allowing filtered pages to reuse IDs. The current reader uses the physical selection correctly; this regression test protects that behavior without extending the frozen legacy format.

Validation

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

Fixes #3507

@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.

This focused regression test covers the reported legacy stable-row-ID scan failure without changing the frozen legacy reader. Its completeness and uniqueness assertions exercise the physical-selection contract across concurrent batch readahead.

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.

bug: dup batch is returned repeatedly if set filter_expr on legacy dataset with stable row ID enabled

0 participants