BsoBird commented on code in PR #9546:
URL: https://github.com/apache/iceberg/pull/9546#discussion_r1651099384


##########
core/src/main/java/org/apache/iceberg/hadoop/HadoopTableOperations.java:
##########
@@ -368,58 +431,63 @@ private void renameToFinal(FileSystem fs, Path src, Path 
dst, int nextVersion) {
       if (fs.exists(dst)) {
         throw new CommitFailedException("Version %d already exists: %s", 
nextVersion, dst);
       }
-
-      if (!fs.rename(src, dst)) {
-        CommitFailedException cfe =
-            new CommitFailedException("Failed to commit changes using rename: 
%s", dst);
-        RuntimeException re = tryDelete(src);
-        if (re != null) {
-          cfe.addSuppressed(re);
-        }
-        throw cfe;
-      }
-    } catch (IOException e) {
-      CommitFailedException cfe =
-          new CommitFailedException(e, "Failed to commit changes using rename: 
%s", dst);
-      RuntimeException re = tryDelete(src);
-      if (re != null) {
-        cfe.addSuppressed(re);
+      if (!nextVersionIsLatest(nextVersion, fs)) {

Review Comment:
   @Fokko 
   Also, this check I admit does not solve the problem in all scenarios at the 
moment, a better approach would be to call fs.rename successfully and then 
check that it's commits are normal  (This is the part of the code I want to 
submit a PR for later.). This check just intended to fail the client as soon as 
possible. Because there are a lot of clients running flink/kafka-stream to 
write to flink at the same time they are running the compaction task. 
Implementing fast failures is more friendly to them.



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