jsedding commented on code in PR #2663:
URL: https://github.com/apache/jackrabbit-oak/pull/2663#discussion_r2626442804


##########
oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureRepositoryLock.java:
##########
@@ -211,6 +213,26 @@ private boolean isInError() {
         return inError;
     }
 
+    /**
+     * Checks if the exception is a transient client-side exception that 
should be retried.
+     * This includes timeouts and IO/network errors that can occur when 
communicating with Azure.
+     * <p>
+     * Per Azure SDK documentation, the timeout parameter causes a 
RuntimeException to be raised.
+     * @param e the exception to check
+     * @return true if this is a transient exception that should be retried
+     */
+    private boolean isTransientClientSideException(Exception e) {
+        Throwable current = e;
+        while (current != null) {
+            if (current instanceof java.util.concurrent.TimeoutException ||
+                current instanceof java.io.IOException) {
+                return true;
+            }
+            current = current.getCause();
+        }
+        return false;
+    }

Review Comment:
   @smiroslav I completely missed that they create a new `TimeoutException` and 
set it as the cause. I only saw the new `IllegalStateException`. Sorry, my bad!



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to