dimas-b commented on code in PR #8982:
URL: https://github.com/apache/iceberg/pull/8982#discussion_r1686695087


##########
format/spec.md:
##########
@@ -1370,3 +1370,16 @@ Writing v2 metadata:
     * `sort_columns` was removed
 
 Note that these requirements apply when writing data to a v2 table. Tables 
that are upgraded from v1 may contain metadata that does not follow these 
requirements. Implementations should remain backward-compatible with v1 
metadata requirements.
+
+## Appendix F: Implementation Notes
+
+This section covers topics not required by the specification but 
recommendations for systems implementing the Iceberg specification
+to help maintain a uniform experience.
+
+### Point in Time Reads (Time Travel)
+
+Iceberg supports two types of histories for tables. A history of previous 
"current snapshots" stored in ["snapshot-log" table 
metadata](#table-metadata-fields) and [parent-child lineage stored in 
"snapshots"](#table-metadata-fields). These two histories 
+might indicate different snapshot IDs for a specific timestamp. The 
discrepancies can be caused by a variety of table operations (e.g. updating the 
`current-snapshot-id` of the table).
+
+When processing point in time queries the Iceberg community has chosen to use 
"snapshot-log" metadata to lookup the table state

Review Comment:
   I think this recommendation affects REST catalog implementations.
   
   I believe this text is not normative, therefore REST catalog implementations 
that do not expose the full snapshot history in metadata JSON will not violate 
the spec. 
   
   However, for the sake of clarity and considering that the field is option, I 
propose adding a phrase like "when the catalog makes the snapshot history 
available in the metadata JSON, time travel queries should be executed like 
this.... [existing spec text]. If a catalog does not expose the full snapshot 
history, time travel queries should provide clear messages in case they cannot 
find the appropriate snapshot".



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to