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

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

- ## Method Summary

  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 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 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`