aokolnychyi commented on code in PR #6002:
URL: https://github.com/apache/iceberg/pull/6002#discussion_r998355441
##########
core/src/main/java/org/apache/iceberg/ManifestEntry.java:
##########
@@ -118,6 +124,27 @@ default boolean isLive() {
@Deprecated
void setSequenceNumber(long sequenceNumber);
+ /**
+ * Returns the file sequence number.
+ *
+ * <p>The file sequence number represents the sequence number of the
snapshot in which the
+ * underlying file was added. The file sequence number is always assigned at
commit and cannot be
+ * provided explicitly, unlike the data sequence number. The file sequence
number does not change
+ * upon assigning and must be preserved in existing and deleted entries.
+ *
+ * <p>This method can return null if the file sequence number is unknown.
This may happen while
+ * reading a v2 manifest that did not persist the file sequence number for
manifest entries with
+ * status EXISTING or DELETED (older Iceberg versions).
+ */
+ Long fileSequenceNumber();
Review Comment:
I think we need both as they serve different purposes. The data sequence
number will still be used to decide whether a particular delete should apply.
The file sequence number, on the other hand, will always tell us the sequence
number of the snapshot that added this file. These values can be different
during compaction as we may add a file with an old data sequence number.
--
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]