From 82dba26cd13d9e6d54b452f3c4feea0aa932e31f Mon Sep 17 00:00:00 2001 From: "Chris (He/Him)" Date: Mon, 29 Dec 2025 13:57:43 +0000 Subject: [PATCH 1/2] Increase retry delay and limit for ephemeral outages (502) Signed-off-by: Chris (He/Him) --- .../main/java/com/atlan/net/HttpClient.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sdk/src/main/java/com/atlan/net/HttpClient.java b/sdk/src/main/java/com/atlan/net/HttpClient.java index b85061ca9d..a14b2f9c02 100644 --- a/sdk/src/main/java/com/atlan/net/HttpClient.java +++ b/sdk/src/main/java/com/atlan/net/HttpClient.java @@ -271,6 +271,24 @@ private > boolean shouldRetry( return true; } + // Continue retrying in case of ephemeral outages (ignore max retries in this case) + if (response != null && response.code() == 502) { + if (exception != null) { + log.debug( + " ... ephemeral outage encountered, will retry with a long delay: {}", + response.body(), + exception); + } else { + log.debug(" ... ephemeral outage encountered, will retry with a long delay: {}", response.body()); + } + try { + Thread.sleep(waitLongTime(numRetries).toMillis()); + } catch (InterruptedException e) { + log.warn(" ... wait interrupted.", exception); + } + return true; + } + // Otherwise, do not retry if we are out of retries. if (numRetries >= request.options().getMaxNetworkRetries()) { if (exception != null) { From e1f37a581748e6fcdeabd39e76e73ded70e3d758 Mon Sep 17 00:00:00 2001 From: "Chris (He/Him)" Date: Mon, 29 Dec 2025 13:58:43 +0000 Subject: [PATCH 2/2] Bump dependencies Signed-off-by: Chris (He/Him) --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bc3ef04064..58be981c43 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,7 +8,7 @@ testng = "7.11.0" log4j = "2.25.3" wiremock = "3.13.2" jnanoid = "2.0.0" -awssdk = "2.40.13" +awssdk = "2.40.16" gcs = "26.73.0" system-stubs = "2.1.8" fastcsv = "4.1.0" @@ -34,7 +34,7 @@ kotlin-mu = "3.0.5" rocksdb = "10.4.2" jetty = "12.1.5" netty = "4.2.9.Final" -rhino = "1.8.1" +rhino = "1.9.0" nimbus = "10.6" otel = "1.57.0" otel-instrumentation = "2.23.0-alpha"