Jitter

ox.scheduling.Jitter
enum Jitter

A random factor used for calculating the delay between subsequent retries when a backoff strategy is used for calculating the delay.

The purpose of jitter is to avoid clustering of subsequent retries, i.e. to reduce the number of clients calling a service exactly at the same time - which can result in subsequent failures, contrary to what you would expect from retrying. By introducing randomness to the delays, the retries become more evenly distributed over time.

See the AWS Architecture Blog article on backoff and jitter for a more in-depth explanation.

Depending on the algorithm, the jitter can affect the delay in different ways - see the concrete variants for more details.

Attributes

Graph
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Type members

Enum entries

case Decorrelated extends Jitter

Decorrelated jitter, i.e. the delay is a random value between the initial delay and the last delay multiplied by 3.

Decorrelated jitter, i.e. the delay is a random value between the initial delay and the last delay multiplied by 3.

Attributes

case Equal extends Jitter

Equal jitter, i.e. the delay is half of the calculated backoff delay plus a random value between 0 and the other half.

Equal jitter, i.e. the delay is half of the calculated backoff delay plus a random value between 0 and the other half.

Attributes

case Full extends Jitter

Full jitter, i.e. the delay is a random value between 0 and the calculated backoff delay.

Full jitter, i.e. the delay is a random value between 0 and the calculated backoff delay.

Attributes

case None extends Jitter

No jitter, i.e. the delay just uses an exponential backoff with no adjustments.

No jitter, i.e. the delay just uses an exponential backoff with no adjustments.

Attributes