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]

Reply via email to