thswlsqls opened a new issue, #9151: URL: https://github.com/apache/paimon/issues/9151
**Search before asking** - [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. **Paimon version** master @ 158d83cb5 (2.1-SNAPSHOT) **Compute Engine** Engine-agnostic (core) **Minimal reproduce step** 1. Create `pt VARCHAR(10), v INT` partitioned by `pt`, bucket `-1`, with `metadata.iceberg.storage = table-location`. 2. Commit a row with `pt = 'a'`. 3. Commit a batch in which **every** row has `pt = NULL` — this fails: ``` java.lang.NullPointerException at IcebergConversions.toByteBuffer(IcebergConversions.java:83) at IcebergManifestFile$IcebergManifestEntryWriter.result(IcebergManifestFile.java:273) at IcebergCommitCallback.call(IcebergCommitCallback.java:256) ``` **What doesn't meet your expectations?** The commit should succeed. Paimon supports null partition values, and the Iceberg spec declares `field_summary.lower_bound` (510) and `upper_bound` (511) optional — "or null if all values are null or NaN". `IcebergPartitionSummary.schema()` already declares both nullable. **Anything else?** When every entry of a manifest holds a null partition value, the collected `SimpleColStats` min/max stay null and reach `toByteBuffer` unguarded. The sibling `IcebergDataFileMeta.create()` has omitted unknown column bounds since #4090; the partition summary path never got the equivalent guard. Reading is affected too: `IcebergCommitCallback.createWithDeleteManifestFileMetas` hits the same null in `toPaimonObject` on the next non add-only commit. **Are you willing to submit a PR?** - [x] I'm willing to submit a PR! -- 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]
