stevenzwu commented on code in PR #16285:
URL: https://github.com/apache/iceberg/pull/16285#discussion_r4255052389


##########
core/src/main/java/org/apache/iceberg/TrackingBuilder.java:
##########
@@ -115,6 +118,19 @@ TrackingBuilder dvUpdated() {
     return this;
   }
 
+  /** Indicates that the column files list has been updated for the new 
Tracking. */
+  TrackingBuilder columnFilesUpdated() {
+    this.latestColumnFileSnapshotId = newSnapshotId;
+    if (status == EntryStatus.EXISTING) {
+      this.status = EntryStatus.MODIFIED;
+    }
+    // Reset to null to inherit from the new snapshot sequence number. It is 
safe to bump up the
+    // dataSequenceNumber as writers are required to rewrite v2 equality and 
position deletes to DVs
+    // when applying column update.
+    this.dataSequenceNumber = null;

Review Comment:
   The null reset matches the inheritance rule in 
[#16025](https://github.com/apache/iceberg/pull/16025): the data sequence 
number is inherited for ADDED, and for MODIFIED when a column file is added.
   
   This comment still says writers must rewrite v2 equality and position 
deletes into DVs before a column update. The spec PR does not state that 
requirement. Moving the data sequence number forward without it lets those 
deletes stop applying.



-- 
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