efegokdemir opened a new pull request, #3842: URL: https://github.com/apache/parquet-java/pull/3842
### Rationale for this change Parquet Java 1.18 changed the default column order for FLOAT, DOUBLE, and FLOAT16 to IEEE 754 total order. Older readers such as Hive 3.1.2 do not handle the new order consistently, which can make files written with the default schema unreadable. Retaining the previous default restores interoperability. ### What changes are included in this PR? Restore TYPE_DEFINED_ORDER as the default for floating-point columns while keeping IEEE 754 total order available through explicit schema configuration. INT96 and INTERVAL continue to default to UNDEFINED. The schema builder documentation and metadata conversion regression coverage reflect these semantics. ### Are these changes tested? - Regression test failed before the implementation change: `testFloatingPointColumnsDefaultToTypeDefinedOrder` observed IEEE_754_TOTAL_ORDER in the generated footer. - After the change, `TestParquetMetadataConverter` passed (77 tests). - `./mvnw -pl parquet-column -am -Dthrift.version=0.25.0 test` passed (704 tests in parquet-column; all reactor modules passed). - `TestIeee754TotalOrderE2E` passed (11 tests), including explicit IEEE 754 opt-in behavior. - `./mvnw -pl parquet-column,parquet-hadoop -Dthrift.version=0.25.0 spotless:check` passed. The local environment provides Thrift 0.25.0 while this checkout expects 0.24.0, so the test commands used `-Dthrift.version=0.25.0` to satisfy the version check. ### Are there any user-facing changes? Yes. Schemas that leave floating-point column order unspecified now write the legacy TYPE_ORDER metadata. Applications that need IEEE 754 total ordering can continue to select it explicitly. Generated with assistance from OpenAI Codex. <!-- Closes #3835 --> -- 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]
