Skip to content

Add S3 coverage for the DuckDB-native scan IO path#938

Open
ran-yuan-rui wants to merge 1 commit into
sirius-db:devfrom
ran-yuan-rui:feature-S3duckdbnative-tests
Open

Add S3 coverage for the DuckDB-native scan IO path#938
ran-yuan-rui wants to merge 1 commit into
sirius-db:devfrom
ran-yuan-rui:feature-S3duckdbnative-tests

Conversation

@ran-yuan-rui

Copy link
Copy Markdown
Contributor

The DuckDB-native GPU scan resolves its file IO through the scan manager's create_datasource() seam and reads exclusively via host_read_ranges_async_io, both of which the S3 backend already implements -- but no test exercised that combination. Add integration coverage that uploads a real multi-block .duckdb file to MinIO and verifies the S3 ioctx serves the native decoder's exact range shapes (header ranges, all-block payload batch, whole-file, and many small interleaved ranges) byte-identically against local reads, and that a duckdb_native_gpu_ingestible built with an s3:// db_path carries an S3-backed io_ctx/io_object while a backend-less manager yields null handles.

Tagged [.][s3][integration][duckdbnative] so make s3-test runs them under the self-managed MinIO harness while the default Catch2 run stays offline.

The DuckDB-native GPU scan resolves its file IO through the scan
manager's create_datasource() seam and reads exclusively via
host_read_ranges_async_io, both of which the S3 backend already
implements -- but no test exercised that combination. Add integration
coverage that uploads a real multi-block .duckdb file to MinIO and
verifies the S3 ioctx serves the native decoder's exact range shapes
(header ranges, all-block payload batch, whole-file, and many small
interleaved ranges) byte-identically against local reads, and that a
duckdb_native_gpu_ingestible built with an s3:// db_path carries an
S3-backed io_ctx/io_object while a backend-less manager yields null
handles.

Tagged [.][s3][integration][duckdbnative] so make s3-test runs them
under the self-managed MinIO harness while the default Catch2 run stays
offline.
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