diff --git a/utils/src/main/java/software/amazon/awssdk/utils/cache/CachedSupplier.java b/utils/src/main/java/software/amazon/awssdk/utils/cache/CachedSupplier.java index 32d14ca48a97..5ce75eaae7ba 100644 --- a/utils/src/main/java/software/amazon/awssdk/utils/cache/CachedSupplier.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/cache/CachedSupplier.java @@ -334,7 +334,10 @@ private Duration maxPrefetchJitter(RefreshResult result) { } private Duration maxStaleFailureJitter(int numFailures) { - long exponentialBackoffMillis = (1L << numFailures - 1) * 100; + long exponentialBackoffMillis = (1L << (numFailures - 1)) * 100; + if (exponentialBackoffMillis <= 0) { + exponentialBackoffMillis = Long.MAX_VALUE; + } return ComparableUtils.minimum(Duration.ofMillis(exponentialBackoffMillis), Duration.ofSeconds(10)); }