wgtmac opened a new pull request, #17235: URL: https://github.com/apache/iceberg/pull/17235
## Summary - Preserve physical `_row_id` and `_last_updated_sequence_number` values when inheritance constants are missing. - Inherit `_last_updated_sequence_number` from the file data sequence number without requiring a base row ID. - Add focused Avro, Parquet, ORC, and Arrow reader tests. ## Problem Row-lineage readers used null readers when fallback constants were missing. That could drop physical non-null lineage values already stored in files. The last-updated reader path also required a base row ID before applying the file data sequence number, even though `_last_updated_sequence_number` inheritance is based on the file sequence number, not row ID assignment. ## Spec Basis - The format spec says missing row-lineage columns are read as null values. - If `_last_updated_sequence_number` is null, readers assign the data file manifest-entry `sequence_number`. - If `_row_id` is null, readers assign `first_row_id + _pos`; when `first_row_id` is null, inherited row IDs remain null, but existing rows still inherit `_last_updated_sequence_number` from their containing data file. ## Testing - `JAVA_HOME=/Users/gangwu/.sdkman/candidates/java/17.0.18-zulu ./gradlew spotlessApply :iceberg-core:test --tests org.apache.iceberg.avro.TestValueReaders :iceberg-parquet:test --tests org.apache.iceberg.parquet.TestParquetValueReaders :iceberg-arrow:test --tests org.apache.iceberg.arrow.vectorized.TestVectorizedArrowReader :iceberg-orc:test --tests org.apache.iceberg.orc.TestOrcValueReaders` --- **AI Disclosure** - Model: [unknown - human to fill in] - Platform/Tool: OpenAI Codex - Human Oversight: [unknown - human to fill in] - Prompt Summary: Fix row-lineage reader inheritance and physical value preservation. -- 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]
