stevenzwu commented on code in PR #15630: URL: https://github.com/apache/iceberg/pull/15630#discussion_r3120713584
########## format/spec.md: ########## @@ -1637,6 +1686,30 @@ The binary single-value serialization can be used to store the lower and upper b ## Appendix E: Format version changes +### Version 4 + +Relative path support is added in v4. + +Reading v3 metadata for v4: + +* All location fields are treated as absolute paths +* Any location field without a uri scheme prefix must prepend a scheme component consistent with v4 Review Comment: > The definition of "Absolute Path" is not retroactive to v3. It only applies to v4+. When we define the term, we didn't say it only applies to V4+. I thought the term is retroactive to V3. It sounds like the spec is both forbidding and accommodating the same thing. Maybe we can change the text and make the exception explicit and narrow: “Prior to v4, path fields are expected to be absolute. In practice, some legacy metadata may contain scheme-less root-relative paths such as /...; v4 readers may normalize those using an implementation-specific/default scheme.” Or remove the migration bullet entirely if the behavior is too implementation-specific: the phrase “must prepend a scheme component consistent with v4” is underspecified, because the reader may not know which scheme to invent. -- 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]
