@Override public String toString() { return "ComputationPolicy{" + "maxRetries=" + retryPolicy.getMaxRetries() + ", delay=" + retryPolicy.getDelay() + ", delayMax=" + retryPolicy.getMaxDelay() + ", continueOnFailure=" + skipFailure + ", batchCapacity=" + batchCapacity + ", batchThreshold=" + batchThreshold + '}'; } }
if (execution.getAttemptCount() != 1 && policy.getMaxDelay() != null) delayNanos = (long) Math.min(delayNanos * policy.getDelayFactor(), policy.getMaxDelay().toNanos());
@Test public void testExponentialRetry() { TableRetryPolicy retryPolicy = new TableRetryPolicy(); retryPolicy.withExponentialBackoff(Duration.ofMillis(1000), Duration.ofMillis(2000), 1.5); retryPolicy.withJitter(Duration.ofMillis(100)); Assert.assertEquals(TableRetryPolicy.BackoffType.EXPONENTIAL, retryPolicy.getBackoffType()); RetryPolicy fsRetry = FailsafeAdapter.valueOf(retryPolicy); Assert.assertEquals(1000, fsRetry.getDelay().toMillis()); Assert.assertEquals(2000, fsRetry.getMaxDelay().toMillis()); Assert.assertEquals(1.5, fsRetry.getDelayFactor(), 0.001); Assert.assertEquals(100, fsRetry.getJitter().toMillis()); }