Class 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

      Constructors 
      Constructor Description
      StormBoundedExponentialBackoffRetry​(int baseSleepTimeMs, int maxSleepTimeMs, int maxRetries)
      The class provides generic exponential-linear backoff retry strategy for storm.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean 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 interface org.apache.storm.shade.org.apache.curator.RetryPolicy

        allowRetry
    • Constructor Detail

      • 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 Detail

      • getSleepTimeMs

        public long getSleepTimeMs​(int retryCount,
                                   long elapsedTimeMs)
        Overrides:
        getSleepTimeMs in class org.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 interface org.apache.storm.shade.org.apache.curator.RetryPolicy