pvary commented on code in PR #12637:
URL: https://github.com/apache/iceberg/pull/12637#discussion_r2012174241


##########
core/src/main/java/org/apache/iceberg/BaseMetastoreOperations.java:
##########
@@ -63,6 +64,31 @@ protected CommitStatus checkCommitStatus(
       String newMetadataLocation,
       Map<String, String> properties,
       Supplier<Boolean> commitStatusSupplier) {
+    if (metadataLocationCommitted(
+            tableOrViewName, newMetadataLocation, properties, 
commitStatusSupplier)
+        .orElse(false)) {
+      return CommitStatus.SUCCESS;
+    }
+    return CommitStatus.UNKNOWN;

Review Comment:
   So to summarize when we get a "The table has been modified. The parameter 
value for key [..]" exception, then one of the following happened:
   1. Someone did a concurrent commit - we need to return 
`CommitStatus.FAILURE`, so the commit could be retried above the new commit
   2. The previous attempt of the commit has already happened - we need to 
return `CommitStatus.SUCCESS`, so no retries will happen, and there is no 
retries
   3. We can't reach the HMS - we need to return `CommitStatus.UNKNOWN`
   
   Sounds reasonable. Thanks for all the details!



-- 
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-unsubscr...@iceberg.apache.org

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


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

Reply via email to