You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by GitBox <gi...@apache.org> on 2021/09/03 23:22:57 UTC

[GitHub] [iceberg] rdblue commented on a change in pull request #3069: Core: Validate conflicting delete files in RowDelta and OverwriteFiles

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



##########
File path: api/src/main/java/org/apache/iceberg/OverwriteFiles.java
##########
@@ -122,27 +122,30 @@
    *
    * @param conflictDetectionFilter an expression on rows in the table
    * @return this for method chaining
+   * @deprecated this will be removed in 0.14.0;
+   *             use {@link #validateNoConflictingOperations(Expression)} instead
    */
-  OverwriteFiles validateNoConflictingAppends(Expression conflictDetectionFilter);
+  @Deprecated
+  default OverwriteFiles validateNoConflictingAppends(Expression conflictDetectionFilter) {
+    return validateNoConflictingOperations(conflictDetectionFilter);
+  }
 
   /**
-   * Enables validation that files added concurrently do not conflict with this commit's operation.
+   * Enables validation that no concurrent operation conflicts with this commit.
    * <p>
    * This method should be called when the table is queried to determine which files to delete/append.
-   * If a concurrent operation commits a new file after the data was read and that file might
-   * contain rows matching the specified conflict detection filter, the overwrite operation
-   * will detect this during retries and fail.
+   * If a concurrent operation commits a new data or delete file after the table was queried and
+   * that file might contain either new records or relevant deletes matching the specified conflict
+   * detection filter, the overwrite operation will detect this during retries and fail.
    * <p>
    * Calling this method with a correct conflict detection filter is required to maintain
    * serializable isolation for eager update/delete operations. Otherwise, the isolation level
    * will be snapshot isolation.
+   * <p>
+   * Validation applies to operations happened since the snapshot passed to {@link #validateFromSnapshot(long)}.

Review comment:
       Nit: This is missing a "that" before "happened". But then it sounds odd to me, so I'd recommend "that happened after" instead of "happened since".




-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org