kszucs opened a new pull request, #55343: URL: https://github.com/apache/arrow/pull/55343
### Rationale for this change A data page without values (`num_values = 0`) made the Parquet reader treat the rest of the column chunk as absent, so rows were silently dropped, or reading a table failed with `ArrowInvalid` when only some of its columns were affected. parquet-rs 58.1.0 to 60.1.0 writes such pages when content-defined chunking is enabled. ### What changes are included in this PR? - `ColumnChunkReader::EnsureDataPage()` keeps reading pages until one with values is found or the column chunk ends. - A test reading `empty_data_pages.parquet` from apache/parquet-testing#131. The `parquet-testing` submodule points at that PR until it is merged. ### Are these changes tested? Yes, by `TestArrowReadWrite.ReadEmptyDataPages`. Only the test is pushed for now, to show it failing on CI; the fix follows. ### Are there any user-facing changes? Files with data pages without values are read correctly. **This PR contains a "Critical Fix".** Data pages without values caused rows to be silently dropped when reading. ### Was AI used for this PR? **PR code and description written by:** - [ ] Human - [x] AI **Reviewed before submission by:** - [x] Human - [x] AI - [ ] Not reviewed * GitHub Issue: #55342 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
