Package org.apache.storm.utils
Class StormBoundedExponentialBackoffRetry
java.lang.Object
org.apache.storm.shade.org.apache.curator.retry.ExponentialBackoffRetry
org.apache.storm.shade.org.apache.curator.retry.BoundedExponentialBackoffRetry
org.apache.storm.utils.StormBoundedExponentialBackoffRetry
- All Implemented Interfaces:
org.apache.storm.shade.org.apache.curator.RetryPolicy
public class StormBoundedExponentialBackoffRetry
extends org.apache.storm.shade.org.apache.curator.retry.BoundedExponentialBackoffRetry
-
Constructor Summary
ConstructorDescriptionStormBoundedExponentialBackoffRetry
(int baseSleepTimeMs, int maxSleepTimeMs, int maxRetries) The class provides generic exponential-linear backoff retry strategy for storm. -
Method Summary
Modifier and TypeMethodDescriptionboolean
allowRetry
(int arg0, long arg1, org.apache.storm.shade.org.apache.curator.RetrySleeper arg2) int
getN()
long
getSleepTimeMs
(int retryCount, long elapsedTimeMs) Methods inherited from class org.apache.storm.shade.org.apache.curator.retry.BoundedExponentialBackoffRetry
getMaxSleepTimeMs
Methods inherited from class org.apache.storm.shade.org.apache.curator.retry.ExponentialBackoffRetry
getBaseSleepTimeMs
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.storm.shade.org.apache.curator.RetryPolicy
allowRetry
-
Constructor Details
-
StormBoundedExponentialBackoffRetry
public StormBoundedExponentialBackoffRetry(int baseSleepTimeMs, int maxSleepTimeMs, int maxRetries) The class provides generic exponential-linear backoff retry strategy for storm. It calculates threshold for exponentially increasing sleeptime for retries. Beyond this threshold, the sleeptime increase is linear.Also adds jitter for exponential/linear retry. It guarantees `currSleepTimeMs >= prevSleepTimeMs` and `baseSleepTimeMs <= currSleepTimeMs <= maxSleepTimeMs`
-
-
Method Details
-
getSleepTimeMs
public long getSleepTimeMs(int retryCount, long elapsedTimeMs) - Overrides:
getSleepTimeMs
in classorg.apache.storm.shade.org.apache.curator.retry.BoundedExponentialBackoffRetry
-
getN
public int getN() -
allowRetry
public boolean allowRetry(int arg0, long arg1, org.apache.storm.shade.org.apache.curator.RetrySleeper arg2) - Specified by:
allowRetry
in interfaceorg.apache.storm.shade.org.apache.curator.RetryPolicy
-