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