makarandhinge opened a new pull request, #3812: URL: https://github.com/apache/parquet-java/pull/3812
> **Note:** This PR currently addresses the data-reading side of the Avro isolation work. The remaining part of the isolation will be added to this PR in a follow-up change. #3672 ### Rationale for this change The Parquet-native `cat`, `head`, and `scan` paths were unnecessarily going through Avro schema conversion. This could cause valid Parquet files containing INT96 fields or nested LIST structures to fail during schema conversion. ### What changes are included in this PR? This PR isolates Avro usage from the Parquet-native data-reading paths. - Parquet files use `GroupReadSupport` and read the `MessageType` directly from the Parquet footer. - Native Parquet projections are built without converting the schema to Avro. - `cat`, `head`, and `scan` use the native Parquet reader for Parquet input. - Non-Parquet and Avro-specific paths continue using the existing Avro reader and schema logic. - Column selection behavior is preserved, including single-column output. - Multi-file scan validation is preserved. - Regression tests cover INT96, nested LIST structures, column projections, and multiple input files. ### Are these changes tested? Yes. Regression tests were added for the affected Parquet CLI paths, including INT96, nested LIST structures, column projection, and multi-file scanning. ### Are there any user-facing changes? This is a bug fix for the Parquet data-reading path. Valid Parquet files that previously failed because of unnecessary Avro schema conversion can now be processed through the native Parquet reader. The remaining Avro isolation work will be added to this PR later. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
