Gabriel39 opened a new pull request, #68548: URL: https://github.com/apache/doris/pull/68548
### What problem does this PR solve? Iceberg Parquet writes copy the encoded Parquet decimal min/max statistics directly into manifest bounds. For example, the unscaled value 128 can be written as `00000080` instead of `0080`. These padded bounds do not follow [Iceberg's single-value serialization](https://iceberg.apache.org/spec/#appendix-d-single-value-serialization), which requires the minimal signed big-endian representation. Normalize DECIMAL bounds after merging row-group statistics. Preserve the necessary sign byte and convert integer physical representations from little endian. Other logical types retain their existing encoding. Add writer unit coverage for precisions 1–38 and sign boundaries, an Iceberg write regression for DECIMAL32/64/128 metadata and filtered reads, and refresh the existing Parquet statistics expectations. ### Release note Fix Iceberg Parquet DECIMAL manifest bounds to use the minimal signed big-endian encoding required by the Iceberg specification. Validation: ASAN BE/FE build succeeded; all 4 writer unit tests and both Iceberg regression suites passed. The new unit test fails with the original implementation and passes with the fix. clang-format 16, clang-tidy, and build hygiene checks passed. ### Check List (For Author) - Test: - [x] Regression test: `test_iceberg_write_decimal_bounds`, `test_iceberg_write_stats2` - [x] Unit Test: `VParquetWriterTest.*` - Behavior changed: - [x] Yes. Newly written Parquet DECIMAL bounds omit redundant sign-extension bytes while preserving their values. - Does this need documentation? - [x] No. ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label -- 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]
