amogh-jahagirdar commented on code in PR #17198: URL: https://github.com/apache/iceberg/pull/17198#discussion_r3588578656
########## format/spec.md: ########## @@ -662,6 +662,10 @@ A manifest may store either data files or delete files, but not both because man A manifest stores files for a single partition spec. When a table’s partition spec changes, old files remain in the older manifest and newer files are written to a new manifest. This is required because a manifest file’s schema is based on its partition spec (see below). The partition spec of each manifest is also used to transform predicates on the table's data rows into predicates on partition values that are used during job planning to select files from a manifest. +#### Content file uniqueness + +Within a snapshot, each content file must be referenced by at most one live entry across all manifests. A snapshot in which more than one live entry references the same content file has undefined behavior. Writers are not required to validate uniqueness at commit time. Review Comment: I do think we need to make it really clear that ADDED + DELETED is not a valid state either though in a given snapshot. I think we achieve that by removing the live qualifier in the second sentence. That implicitly covers every case ``` A snapshot in which more than one entry references the same content file has undefined behavior. ``` -- 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]
