amogh-jahagirdar commented on code in PR #18791: URL: https://github.com/apache/iceberg/pull/18791#discussion_r4470659633
########## format/spec.md: ########## @@ -855,7 +855,7 @@ A manifest file must store metadata as properties in the file's key-value metada #### Content file uniqueness -Within a snapshot, each content file must be referenced by at most one live manifest entry across all manifests; otherwise, the snapshot has undefined behavior. Writers should not produce multiple manifest entries for the same content file in a snapshot (for example, both ADDED and DELETED entries for the same file). Writers are not required to validate uniqueness at commit time. +Within a snapshot, each content file must be referenced by at most one live manifest entry across all manifests; otherwise, the snapshot has undefined behavior. Writers should not produce multiple manifest entries for the same content file in a snapshot (for example, both ADDED and DELETED entries for the same file), except for the REPLACED and MODIFIED pair produced when a file is modified. Writers are not required to validate uniqueness at commit time. Review Comment: Ok how about `` Within a snapshot, each content file must be referenced by at most one [live](#manifest-schema) manifest entry across all manifests; otherwise, the snapshot has undefined behavior. Writers should not produce a DELETED entry for a content file that also has a live entry in the same snapshot. Writers are not required to validate uniqueness at commit time. `` this does a couple things, link what live means and also instead of wording it in terms of the exception for replaced + modified, we phrase it in terms of the specific case we were trying to avoid on the original change that added this which is preventing DELETED + any live status (but it's a should instead of a must because technically writers, such as the java implementation do that today)? and I think this wording implciitly allows for the REPLACED + MODIFIED case without having to restate that requirement. -- 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]
