Object/Class

com.twitter.finagle.service

RetryPolicy

Related Docs: class RetryPolicy | package service

Permalink

object RetryPolicy extends JavaSingleton

Linear Supertypes
JavaSingleton, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RetryPolicy
  2. JavaSingleton
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val ChannelClosedExceptionsOnly: PartialFunction[Try[Nothing], Boolean]

    Permalink

    Use ResponseClassifier.RetryOnChannelClosed for the ResponseClassifier equivalent.

  5. val Never: RetryPolicy[Try[Nothing]]

    Permalink

    A RetryPolicy that never retries.

    A RetryPolicy that never retries.

    See also

    none for a more generally applicable version.

  6. object RetryableWriteException

    Permalink

    An extractor for exceptions which are known to be safe to retry.

    An extractor for exceptions which are known to be safe to retry.

    See also

    RequeueFilter.Requeueable

  7. val TimeoutAndWriteExceptionsOnly: PartialFunction[Try[Nothing], Boolean]

    Permalink

    Use ResponseClassifier.RetryOnTimeout for the ResponseClassifier equivalent.

  8. val WriteExceptionsOnly: PartialFunction[Try[Nothing], Boolean]

    Permalink

    Failures that are generally retryable because the request failed before it finished being written to the remote service.

    Failures that are generally retryable because the request failed before it finished being written to the remote service. See com.twitter.finagle.WriteException.

  9. def apply[A](f: (A) ⇒ Option[(Duration, RetryPolicy[A])]): RetryPolicy[A]

    Permalink

    Lifts a function of type A => Option[(Duration, RetryPolicy[A])] in the RetryPolicy type.

  10. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  11. def backoff[A](backoffs: Stream[Duration])(shouldRetry: PartialFunction[A, Boolean]): RetryPolicy[A]

    Permalink

    Retry based on a series of backoffs defined by a Stream[Duration].

    Retry based on a series of backoffs defined by a Stream[Duration]. The stream is consulted to determine the duration after which a request is to be retried. A PartialFunction argument determines which request types are retryable.

    See also

    backoffJava for a Java friendly API.

  12. def backoffJava[A](backoffs: Callable[Iterator[Duration]], shouldRetry: PartialFunction[A, Boolean]): RetryPolicy[A]

    Permalink

    A version of backoff usable from Java.

    A version of backoff usable from Java.

    backoffs

    can be created via Backoff.toJava.

  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. def combine[A](policies: RetryPolicy[A]*): RetryPolicy[A]

    Permalink

    Combines multiple RetryPolicys into a single combined RetryPolicy, with interleaved backoffs.

    Combines multiple RetryPolicys into a single combined RetryPolicy, with interleaved backoffs. For a given value of A, each policy in policies is tried in order. If all policies return None, then the combined RetryPolicy returns None. If policy P returns Some((D, P')), then the combined RetryPolicy returns Some((D, P)), where P is a new combined RetryPolicy with the same sub-policies, with the exception of P replaced by P'.

    The ordering of policies matters: earlier policies get a chance to handle the failure before later policies; a catch-all policy, if any, should be last.

    As an example, let's say you combine two RetryPolicys, R1 and R2, where R1 handles only exception E1 with a backoff of (10.milliseconds, 20.milliseconds, 30.milliseconds), while R2 handles only exception E2 with a backoff of (15.milliseconds, 25.milliseconds).

    If a sequence of exceptions, (E2, E1, E1, E2), is fed in order to the combined retry policy, the backoffs seen will be (15.milliseconds, 10.milliseconds, 20.milliseconds, 25.milliseconds).

    The maximum number of retries the combined policy could allow under the worst case scenario of exceptions is equal to the sum of the individual maximum retries of each subpolicy. To put a cap on the combined maximum number of retries, you can call limit on the combined policy with a smaller cap.

  15. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def get: JavaSingleton

    Permalink
    Definition Classes
    JavaSingleton
  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. val none: RetryPolicy[Any]

    Permalink

    A RetryPolicy that never retries.

  24. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  27. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  28. def tries(numTries: Int): RetryPolicy[Try[Nothing]]

    Permalink

    Try up to a specific number of times of times on failures that are com.twitter.finagle.service.RetryPolicy.WriteExceptionsOnly.

    Try up to a specific number of times of times on failures that are com.twitter.finagle.service.RetryPolicy.WriteExceptionsOnly.

    The returned policy has jittered backoffs between retries.

    numTries

    the maximum number of attempts (including retries) that can be made. A value of 1 means one attempt and no retries on failure. A value of 2 means one attempt and then a single retry if the failure meets the criteria of com.twitter.finagle.service.RetryPolicy.WriteExceptionsOnly.

  29. def tries[A](numTries: Int, shouldRetry: PartialFunction[A, Boolean]): RetryPolicy[A]

    Permalink

    Try up to a specific number of times, based on the supplied PartialFunction[A, Boolean].

    Try up to a specific number of times, based on the supplied PartialFunction[A, Boolean]. A value of type A is considered retryable if and only if the PartialFunction is defined at and returns true for that value.

    The returned policy has jittered backoffs between retries.

    numTries

    the maximum number of attempts (including retries) that can be made. A value of 1 means one attempt and no retries on failure. A value of 2 means one attempt and then a single retry if the failure meets the criteria of shouldRetry.

    shouldRetry

    which A-typed values are considered retryable.

  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from JavaSingleton

Inherited from AnyRef

Inherited from Any

Ungrouped