sezruby commented on code in PR #18603:
URL: https://github.com/apache/iceberg/pull/18603#discussion_r4381276186


##########
api/src/main/java/org/apache/iceberg/RowDelta.java:
##########
@@ -161,4 +161,31 @@ default RowDelta removeDeletes(DeleteFile deletes) {
    * @return this for method chaining
    */
   RowDelta validateNoConflictingDeleteFiles();
+
+  /**
+   * Enables validation that delete files added concurrently do not conflict 
with this commit's
+   * operation, like {@link #validateNoConflictingDeleteFiles()} but limited 
to the data files this
+   * commit modifies: those its position deletes and deletion vectors apply 
to, and those it
+   * removes.
+   *
+   * <p>Concurrent position deletes and deletion vectors that apply to a 
single other data file do
+   * not conflict. Concurrent equality deletes and position deletes that may 
apply to more than one
+   * data file still conflict, and so does every concurrent delete file if 
this commit adds such a
+   * delete file itself.
+   *
+   * <p>This method can be called instead of {@link 
#validateNoConflictingDeleteFiles()} for UPDATE

Review Comment:
   Updated validateNoConflictingDeleteFiles to say an UPDATE can call 
validateNoConflictingDeleteFilesForModifiedDataFiles instead, and added to the 
new method's Javadoc that a concurrent delete of a row the UPDATE only reads, 
such as through a subquery in its condition, is not detected.



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