aokolnychyi commented on a change in pull request #3069:
URL: https://github.com/apache/iceberg/pull/3069#discussion_r710383644



##########
File path: api/src/main/java/org/apache/iceberg/RowDelta.java
##########
@@ -111,4 +111,19 @@
    * @return this for method chaining
    */
   RowDelta validateNoConflictingAppends(Expression conflictDetectionFilter);
+
+  /**
+   * Enables validation that delete files added concurrently do not conflict 
with this commit's operation.
+   * <p>
+   * This method must be called when the table is queried to produce a row 
delta for UPDATE and
+   * MERGE operations independently of the isolation level. Calling this 
method isn't required
+   * for DELETE operations as it is OK when a particular record we are trying 
to delete
+   * was deleted concurrently.
+   * <p>
+   * Validation applies to operations that happened after the snapshot passed 
to {@link #validateFromSnapshot(long)}.
+   *
+   * @param conflictDetectionFilter an expression on rows in the table
+   * @return this for method chaining
+   */
+  RowDelta validateNoConflictingDeleteFiles(Expression 
conflictDetectionFilter);

Review comment:
       I did that in the first place but then I started to worry it may be 
confusing. For example, we refer here to concurrently added delete files vs 
concurrently happened delete operations that removed data files.
   
   I do prefer consistency too but I am not sure whether it is confusing. What 
do you think, @szehon-ho?




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