Jiayi-Wang-db commented on PR #3699: URL: https://github.com/apache/parquet-java/pull/3699#issuecomment-5168232888
> It looks good to me. There is however a potential follow up issue from codex: > > > [P2] Keep mixed-version floating schemas mergeable > > PrimitiveType.java:661-667 makes new floating schemas default to IEEE_754_TOTAL_ORDER, while ParquetMetadataConverter.java:2064-2070 reads legacy footers as TYPE_DEFINED_ORDER. PrimitiveType.java:910-913 rejects those differing orders during strict schema union, and ParquetInputFormat.java:378-385 uses strict global-metadata merging for client-side split planning. Consequently, metadata aggregation over otherwise identical pre- and post-upgrade files can fail with IncompatibleSchemaModificationException. Please add a mixed-footer regression test and reconcile differing floating orders conservatively during aggregation, for example as UNDEFINED. Hi Gobor, thanks for flagging this. It makes sense to me that we should use the `UNDEFINED` column order in the merged schema when there is a conflict instead of throwing exception. AFAIK, when reading files, the reader ignores the column order in the merged schema and uses the column order from each file’s footer instead. So I don’t see any issue with changing it to `UNDEFINED`. cc @wgtmac @Fokko , I’d appreciate another pair of eyes on this. -- 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]
