Skip to content

IO-layer portability guard, Add coverage for the DuckDB-native scan IO path#938

Merged
mbrobbel merged 1 commit into
sirius-db:devfrom
ran-yuan-rui:feature-S3duckdbnative-tests
Jun 22, 2026
Merged

IO-layer portability guard, Add coverage for the DuckDB-native scan IO path#938
mbrobbel merged 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.
@ran-yuan-rui ran-yuan-rui changed the title Add S3 coverage for the DuckDB-native scan IO path IO-layer portability guard, Add coverage for the DuckDB-native scan IO path Jun 22, 2026
@mbrobbel
mbrobbel added this pull request to the merge queue Jun 22, 2026
Merged via the queue into sirius-db:dev with commit 4f9623a Jun 22, 2026
10 checks passed
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.

2 participants