Uh oh!
There was an error while loading. Please reload this page.
Core, Data: Validate equality delete field IDs - #17028
Conversation
1828e63 to
764f4e4Compare7d753ef to
a4666c1Comparea4666c1 to
5265aceCompare@pvary Could you please take a look? This aligns Java equality-delete field-ID validation with the merged Rust implementation: apache/iceberg-rust#2723. All CI checks and the targeted Java writer tests pass. |
pvary
commented
Jul 30, 2026
Big part of the change is not needed if we remove the deprecated classes. |
u70b3
commented
Jul 30, 2026
Sounds good, thanks. If you are planning to remove the deprecated classes, I will wait for that change and then rebase and reduce this PR to the validation still needed by the remaining paths. If you do not have bandwidth to take the cleanup, I am happy to prepare it. |
pvary
commented
Jul 30, 2026
#16449 is the PR where we work on removing the deprecated classes |
5265ace to
eb120e7Compareu70b3
commented
Aug 18, 2026
@pvary Rebased onto latest main now that #17696 has merged. As you suggested, the changes touching the removed deprecated classes ( |
Validate equality delete field IDs against equality delete row schemas across factory and direct writer paths. Generated-by: Codex
eb120e7 to
d58f6d2Compare
Summary
This PR brings stricter equality delete field ID validation into the Java SDK, aligned with the behavior added in iceberg-rust#2723.
The validation now rejects:
Changes
DeleteSchemaUtil.validateEqualityFieldIds.FileWriterBuilderImpl.RegistryBasedFileWriterFactory) to validate against the equality delete row schema, not the data schema.Testing
./gradlew :iceberg-core:test --tests org.apache.iceberg.avro.TestAvroDeleteWriters --tests org.apache.iceberg.formats.TestFormatModelRegistry :iceberg-data:test --tests org.apache.iceberg.data.TestGenericFileWriterFactory :iceberg-parquet:test --tests org.apache.iceberg.parquet.TestParquetDeleteWriters :iceberg-orc:test --tests org.apache.iceberg.orc.TestOrcDeleteWriters :iceberg-core:spotlessCheck :iceberg-data:spotlessCheck :iceberg-parquet:spotlessCheck :iceberg-orc:spotlessCheckAI Disclosure