Skip to content

feat(scan): expose Parquet read-ahead controls - #3395

Open
terbed wants to merge 1 commit into
apache:mainfrom
quantscious:feat/scan-read-ahead-controls
Open

terbed wants to merge 1 commit into
apache:mainfrom
quantscious:feat/scan-read-ahead-controls

Conversation

@terbed

@terbed terbed commented Oct 10, 2026

Copy link
Copy Markdown

Which issue does this PR close?

What changes are included in this PR?

Expose the existing Parquet footer-prefetch and range-coalescing controls through TableScanBuilder and forward them to the reader used by TableScan::to_arrow().

Unset controls retain the reader defaults: a 512 KiB metadata hint and a 1 MiB coalescing gap. The gap controls when ranges can merge; it does not cap the resulting request size.

Are these changes tested?

Inline scan tests record storage byte ranges with row selection disabled, verify footer prefetch and the coalescing boundary, and check decoded rows. They also cover defaults, zero and maximum values, and empty scans.

Validation passed: make check, make unit-test (workspace unit and doc tests), and git diff --check. The public API snapshot was regenerated and adds only the two setters.

The implementation assumes that the scan API should preserve the existing reader controls’ input types and zero/large-value semantics without additional validation limits. This PR does not establish optimal tuning values.

AI Disclosure

AI assisted with the implementation, API documentation, and tests.

This branch has not been deployed

No deployments
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.

Expose Parquet read-ahead controls through TableScanBuilder

1 participant