Skip to content

GH-49385: [C++][Parquet] Clarify empty schema contract on stream_reader#49386

Merged
emkornfield merged 2 commits intoapache:mainfrom
emkornfield:guard_empty_schema
Mar 4, 2026
Merged

GH-49385: [C++][Parquet] Clarify empty schema contract on stream_reader#49386
emkornfield merged 2 commits intoapache:mainfrom
emkornfield:guard_empty_schema

Conversation

@emkornfield
Copy link
Contributor

@emkornfield emkornfield commented Feb 24, 2026

Rationale for this change

StreamReader inherently does not support empty schemas. Guard this case with an exception.

What changes are included in this PR?

Added validation around the parquet reader passed in.

Are these changes tested?

Yes added unit tests.

Are there any user-facing changes?

A change that might be debatable is the constructor for this class can now throw, but it was never marked noexcept.

This PR contains a "Critical Fix".

@emkornfield
Copy link
Contributor Author

CI failures seem related to build infra?

@emkornfield
Copy link
Contributor Author

@pitrou any objections to me merging?

@pitrou
Copy link
Member

pitrou commented Mar 3, 2026

Perhaps rebase to try and fix CI (not sure that'll be sufficient though)? Apart from that, feel free to merge, and thanks for tackling this!

@emkornfield
Copy link
Contributor Author

Perhaps rebase to try and fix CI (not sure that'll be sufficient though)? Apart from that, feel free to merge, and thanks for tackling this!

Unfortunately still seeing unrelated errors (i.e. for flight)

@emkornfield emkornfield merged commit fcf9dd6 into apache:main Mar 4, 2026
46 of 50 checks passed
@kou kou changed the title GH-49385: Clarify empty schema contract on stream_reader GH-49385: [C++][Parquet] Clarify empty schema contract on stream_reader Mar 5, 2026
@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit fcf9dd6.

There was 1 benchmark result indicating a performance regression:

The full Conbench report has more details. It also includes information about 41 possible false positives for unstable benchmarks that are known to sometimes produce them.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants