rdblue commented on code in PR #18526: URL: https://github.com/apache/iceberg/pull/18526#discussion_r4461863253
########## format/spec.md: ########## @@ -1237,6 +1243,20 @@ Inheriting sequence numbers through the metadata tree allows writing a new manif Inheritance does not apply to v1, which does not have inherited fields like sequence number. When reading v1 manifests with no sequence number column, sequence numbers for all files must default to 0. +##### Snapshot Timestamp Inheritance + +In v4 and later, the `snapshot_timestamp` tracking field records the `timestamp-ms` of the snapshot that added or last modified a file's data, converted to microseconds. It is used to assign `_last_updated_time` for [row lineage](#row-lineage). + +Writers must set `tracking.snapshot_timestamp` for data file and leaf manifest entries as follows: + +* An ADDED entry must have a `null` `snapshot_timestamp`. +* An entry MODIFIED by column files must have a `null` `snapshot_timestamp`. +* Any other entry written to a new manifest must have a non-null `snapshot_timestamp` (inherited or previously persisted). + +When reading, `snapshot_timestamp` is inherited by replacing `null` with the snapshot's `timestamp-ms` converted to microseconds for entries in the root manifest, or with the `snapshot_timestamp` of the root manifest entry that tracks the leaf manifest for entries in a leaf manifest. Review Comment: I think this should just say that it is inherited from its parent (either the snapshot, root manifest, or leaf manifest). -- 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]
