mattfaltyn opened a new pull request, #3110: URL: https://github.com/apache/iceberg-rust/pull/3110
## Which issue does this PR close? - Closes #3109. ## What changes are included in this PR? - Reject map literals whose parallel `keys` and `values` arrays have different lengths instead of silently truncating them with `Iterator::zip`. - Propagate invalid field-default parse errors through `NestedField` deserialization so malformed metadata cannot be accepted as a missing default. - Cover both mismatch directions at the literal boundary and both `initial-default` and `write-default` at the schema boundary. This matches the Java reference implementation's equal-length requirement for map literals. ## Are these changes tested? Yes. - `cargo +stable test -p iceberg --lib spec::values::tests::json_map_rejects_mismatched_key_value_lengths -- --exact --nocapture` - `cargo +stable test -p iceberg --lib spec::datatypes::tests::nested_field_rejects_invalid_map_defaults -- --exact --nocapture` - `make check` - `make build` - `make unit-test` - `cargo nextest run --all-targets --all-features --workspace --no-fail-fast`: 2,107 passed; the only 20 failures were HMS integration cases because the pinned amd64-only Hive 3.1.3 container did not bind port 9083 under ARM64 emulation on this host. - `cargo nextest run --all-targets --all-features --workspace -E 'not (package(iceberg-catalog-hms) | test(/hms_catalog/))'`: 2,090/2,090 passed, including REST, Glue, S3Tables, SQL, DataFusion, Spark, S3, GCS, and Hugging Face integrations. HMS unit tests passed under `make unit-test`. ## AI Disclosure I used Codex to assist with repository inspection, implementation, test execution, and drafting this description. I reviewed the bug reproduction, diff, and test results before submission. -- 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]
