dimas-b commented on code in PR #8909:
URL: https://github.com/apache/iceberg/pull/8909#discussion_r1422658039


##########
nessie/src/main/java/org/apache/iceberg/nessie/NessieTableOperations.java:
##########
@@ -133,69 +114,30 @@ protected void doCommit(TableMetadata base, TableMetadata 
metadata) {
     boolean newTable = base == null;
     String newMetadataLocation = writeNewMetadataIfRequired(newTable, 
metadata);
 
-    String refName = client.refName();
     boolean failure = false;
     try {
       String contentId = table == null ? null : table.getId();
       client.commitTable(base, metadata, newMetadataLocation, contentId, key);
-    } catch (NessieConflictException ex) {
-      failure = true;
-      if (ex instanceof NessieReferenceConflictException) {
-        // Throws a specialized exception, if possible
-        maybeThrowSpecializedException((NessieReferenceConflictException) ex);
+    } catch (NessieConflictException | NessieNotFoundException | 
HttpClientException ex) {
+      if (ex instanceof NessieConflictException || ex instanceof 
NessieNotFoundException) {
+        failure = true;
       }
-      throw new CommitFailedException(
-          ex,
-          "Cannot commit: Reference hash is out of date. "
-              + "Update the reference '%s' and try again",
-          refName);
-    } catch (HttpClientException ex) {
-      // Intentionally catch all nessie-client-exceptions here and not just 
the "timeout" variant
-      // to catch all kinds of network errors (e.g. connection reset). Network 
code implementation
-      // details and all kinds of network devices can induce unexpected 
behavior. So better be
-      // safe than sorry.
-      throw new CommitStateUnknownException(ex);
-    } catch (NessieNotFoundException ex) {
+      NessieUtil.handleExceptionsForCommits(ex, client.refName(), 
Content.Type.ICEBERG_TABLE)
+          .ifPresent(
+              exception -> {
+                throw exception;

Review Comment:
   I'm fine with a follow-up.



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