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]