Class RetryPolicy

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.route.v3.RetryPolicy
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RetryPolicyOrBuilder, Serializable

public final class RetryPolicy extends com.google.protobuf.GeneratedMessage implements RetryPolicyOrBuilder
 HTTP retry :ref:`architecture overview <arch_overview_http_routing_retry>`.
 [#next-free-field: 14]
 
Protobuf type envoy.config.route.v3.RetryPolicy
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • RETRY_ON_FIELD_NUMBER

      public static final int RETRY_ON_FIELD_NUMBER
      See Also:
    • retryOn_

      private volatile Object retryOn_
    • NUM_RETRIES_FIELD_NUMBER

      public static final int NUM_RETRIES_FIELD_NUMBER
      See Also:
    • numRetries_

      private com.google.protobuf.UInt32Value numRetries_
    • PER_TRY_TIMEOUT_FIELD_NUMBER

      public static final int PER_TRY_TIMEOUT_FIELD_NUMBER
      See Also:
    • perTryTimeout_

      private com.google.protobuf.Duration perTryTimeout_
    • PER_TRY_IDLE_TIMEOUT_FIELD_NUMBER

      public static final int PER_TRY_IDLE_TIMEOUT_FIELD_NUMBER
      See Also:
    • perTryIdleTimeout_

      private com.google.protobuf.Duration perTryIdleTimeout_
    • RETRY_PRIORITY_FIELD_NUMBER

      public static final int RETRY_PRIORITY_FIELD_NUMBER
      See Also:
    • retryPriority_

      private RetryPolicy.RetryPriority retryPriority_
    • RETRY_HOST_PREDICATE_FIELD_NUMBER

      public static final int RETRY_HOST_PREDICATE_FIELD_NUMBER
      See Also:
    • retryHostPredicate_

      private List<RetryPolicy.RetryHostPredicate> retryHostPredicate_
    • RETRY_OPTIONS_PREDICATES_FIELD_NUMBER

      public static final int RETRY_OPTIONS_PREDICATES_FIELD_NUMBER
      See Also:
    • retryOptionsPredicates_

      private List<TypedExtensionConfig> retryOptionsPredicates_
    • HOST_SELECTION_RETRY_MAX_ATTEMPTS_FIELD_NUMBER

      public static final int HOST_SELECTION_RETRY_MAX_ATTEMPTS_FIELD_NUMBER
      See Also:
    • hostSelectionRetryMaxAttempts_

      private long hostSelectionRetryMaxAttempts_
    • RETRIABLE_STATUS_CODES_FIELD_NUMBER

      public static final int RETRIABLE_STATUS_CODES_FIELD_NUMBER
      See Also:
    • retriableStatusCodes_

      private com.google.protobuf.Internal.IntList retriableStatusCodes_
    • retriableStatusCodesMemoizedSerializedSize

      private int retriableStatusCodesMemoizedSerializedSize
    • RETRY_BACK_OFF_FIELD_NUMBER

      public static final int RETRY_BACK_OFF_FIELD_NUMBER
      See Also:
    • retryBackOff_

      private RetryPolicy.RetryBackOff retryBackOff_
    • RATE_LIMITED_RETRY_BACK_OFF_FIELD_NUMBER

      public static final int RATE_LIMITED_RETRY_BACK_OFF_FIELD_NUMBER
      See Also:
    • rateLimitedRetryBackOff_

      private RetryPolicy.RateLimitedRetryBackOff rateLimitedRetryBackOff_
    • RETRIABLE_HEADERS_FIELD_NUMBER

      public static final int RETRIABLE_HEADERS_FIELD_NUMBER
      See Also:
    • retriableHeaders_

      private List<HeaderMatcher> retriableHeaders_
    • RETRIABLE_REQUEST_HEADERS_FIELD_NUMBER

      public static final int RETRIABLE_REQUEST_HEADERS_FIELD_NUMBER
      See Also:
    • retriableRequestHeaders_

      private List<HeaderMatcher> retriableRequestHeaders_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final RetryPolicy DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<RetryPolicy> PARSER
  • Constructor Details

    • RetryPolicy

      private RetryPolicy(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • RetryPolicy

      private RetryPolicy()
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getRetryOn

      public String getRetryOn()
       Specifies the conditions under which retry takes place. These are the same
       conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
       :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
       
      string retry_on = 1;
      Specified by:
      getRetryOn in interface RetryPolicyOrBuilder
      Returns:
      The retryOn.
    • getRetryOnBytes

      public com.google.protobuf.ByteString getRetryOnBytes()
       Specifies the conditions under which retry takes place. These are the same
       conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
       :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
       
      string retry_on = 1;
      Specified by:
      getRetryOnBytes in interface RetryPolicyOrBuilder
      Returns:
      The bytes for retryOn.
    • hasNumRetries

      public boolean hasNumRetries()
       Specifies the allowed number of retries. This parameter is optional and
       defaults to 1. These are the same conditions documented for
       :ref:`config_http_filters_router_x-envoy-max-retries`.
       
      .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      hasNumRetries in interface RetryPolicyOrBuilder
      Returns:
      Whether the numRetries field is set.
    • getNumRetries

      public com.google.protobuf.UInt32Value getNumRetries()
       Specifies the allowed number of retries. This parameter is optional and
       defaults to 1. These are the same conditions documented for
       :ref:`config_http_filters_router_x-envoy-max-retries`.
       
      .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      getNumRetries in interface RetryPolicyOrBuilder
      Returns:
      The numRetries.
    • getNumRetriesOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getNumRetriesOrBuilder()
       Specifies the allowed number of retries. This parameter is optional and
       defaults to 1. These are the same conditions documented for
       :ref:`config_http_filters_router_x-envoy-max-retries`.
       
      .google.protobuf.UInt32Value num_retries = 2 [(.udpa.annotations.field_migrate) = { ... }
      Specified by:
      getNumRetriesOrBuilder in interface RetryPolicyOrBuilder
    • hasPerTryTimeout

      public boolean hasPerTryTimeout()
       Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
       parameter is optional. The same conditions documented for
       :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
      
       .. note::
      
       If left unspecified, Envoy will use the global
       :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
       Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
       retry policy, a request that times out will not be retried as the total timeout budget
       would have been exhausted.
       
      .google.protobuf.Duration per_try_timeout = 3;
      Specified by:
      hasPerTryTimeout in interface RetryPolicyOrBuilder
      Returns:
      Whether the perTryTimeout field is set.
    • getPerTryTimeout

      public com.google.protobuf.Duration getPerTryTimeout()
       Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
       parameter is optional. The same conditions documented for
       :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
      
       .. note::
      
       If left unspecified, Envoy will use the global
       :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
       Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
       retry policy, a request that times out will not be retried as the total timeout budget
       would have been exhausted.
       
      .google.protobuf.Duration per_try_timeout = 3;
      Specified by:
      getPerTryTimeout in interface RetryPolicyOrBuilder
      Returns:
      The perTryTimeout.
    • getPerTryTimeoutOrBuilder

      public com.google.protobuf.DurationOrBuilder getPerTryTimeoutOrBuilder()
       Specifies a non-zero upstream timeout per retry attempt (including the initial attempt). This
       parameter is optional. The same conditions documented for
       :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
      
       .. note::
      
       If left unspecified, Envoy will use the global
       :ref:`route timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` for the request.
       Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
       retry policy, a request that times out will not be retried as the total timeout budget
       would have been exhausted.
       
      .google.protobuf.Duration per_try_timeout = 3;
      Specified by:
      getPerTryTimeoutOrBuilder in interface RetryPolicyOrBuilder
    • hasPerTryIdleTimeout

      public boolean hasPerTryIdleTimeout()
       Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
       parameter is optional and if absent there is no per try idle timeout. The semantics of the per
       try idle timeout are similar to the
       :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
       :ref:`stream idle timeout
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
       both enforced by the HTTP connection manager. The difference is that this idle timeout
       is enforced by the router for each individual attempt and thus after all previous filters have
       run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
       is useful in cases in which total request timeout is bounded by a number of retries and a
       :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
       there is a desire to ensure each try is making incremental progress. Note also that similar
       to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
       this idle timeout does not start until after both the entire request has been received by the
       router *and* a connection pool connection has been obtained. Unlike
       :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
       the idle timer continues once the response starts streaming back to the downstream client.
       This ensures that response data continues to make progress without using one of the HTTP
       connection manager idle timeouts.
       
      .google.protobuf.Duration per_try_idle_timeout = 13;
      Specified by:
      hasPerTryIdleTimeout in interface RetryPolicyOrBuilder
      Returns:
      Whether the perTryIdleTimeout field is set.
    • getPerTryIdleTimeout

      public com.google.protobuf.Duration getPerTryIdleTimeout()
       Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
       parameter is optional and if absent there is no per try idle timeout. The semantics of the per
       try idle timeout are similar to the
       :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
       :ref:`stream idle timeout
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
       both enforced by the HTTP connection manager. The difference is that this idle timeout
       is enforced by the router for each individual attempt and thus after all previous filters have
       run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
       is useful in cases in which total request timeout is bounded by a number of retries and a
       :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
       there is a desire to ensure each try is making incremental progress. Note also that similar
       to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
       this idle timeout does not start until after both the entire request has been received by the
       router *and* a connection pool connection has been obtained. Unlike
       :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
       the idle timer continues once the response starts streaming back to the downstream client.
       This ensures that response data continues to make progress without using one of the HTTP
       connection manager idle timeouts.
       
      .google.protobuf.Duration per_try_idle_timeout = 13;
      Specified by:
      getPerTryIdleTimeout in interface RetryPolicyOrBuilder
      Returns:
      The perTryIdleTimeout.
    • getPerTryIdleTimeoutOrBuilder

      public com.google.protobuf.DurationOrBuilder getPerTryIdleTimeoutOrBuilder()
       Specifies an upstream idle timeout per retry attempt (including the initial attempt). This
       parameter is optional and if absent there is no per try idle timeout. The semantics of the per
       try idle timeout are similar to the
       :ref:`route idle timeout <envoy_v3_api_field_config.route.v3.RouteAction.timeout>` and
       :ref:`stream idle timeout
       <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
       both enforced by the HTTP connection manager. The difference is that this idle timeout
       is enforced by the router for each individual attempt and thus after all previous filters have
       run, as opposed to *before* all previous filters run for the other idle timeouts. This timeout
       is useful in cases in which total request timeout is bounded by a number of retries and a
       :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`, but
       there is a desire to ensure each try is making incremental progress. Note also that similar
       to :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
       this idle timeout does not start until after both the entire request has been received by the
       router *and* a connection pool connection has been obtained. Unlike
       :ref:`per_try_timeout <envoy_v3_api_field_config.route.v3.RetryPolicy.per_try_timeout>`,
       the idle timer continues once the response starts streaming back to the downstream client.
       This ensures that response data continues to make progress without using one of the HTTP
       connection manager idle timeouts.
       
      .google.protobuf.Duration per_try_idle_timeout = 13;
      Specified by:
      getPerTryIdleTimeoutOrBuilder in interface RetryPolicyOrBuilder
    • hasRetryPriority

      public boolean hasRetryPriority()
       Specifies an implementation of a RetryPriority which is used to determine the
       distribution of load across priorities used for retries. Refer to
       :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
       
      .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4;
      Specified by:
      hasRetryPriority in interface RetryPolicyOrBuilder
      Returns:
      Whether the retryPriority field is set.
    • getRetryPriority

      public RetryPolicy.RetryPriority getRetryPriority()
       Specifies an implementation of a RetryPriority which is used to determine the
       distribution of load across priorities used for retries. Refer to
       :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
       
      .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4;
      Specified by:
      getRetryPriority in interface RetryPolicyOrBuilder
      Returns:
      The retryPriority.
    • getRetryPriorityOrBuilder

      public RetryPolicy.RetryPriorityOrBuilder getRetryPriorityOrBuilder()
       Specifies an implementation of a RetryPriority which is used to determine the
       distribution of load across priorities used for retries. Refer to
       :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
       
      .envoy.config.route.v3.RetryPolicy.RetryPriority retry_priority = 4;
      Specified by:
      getRetryPriorityOrBuilder in interface RetryPolicyOrBuilder
    • getRetryHostPredicateList

      public List<RetryPolicy.RetryHostPredicate> getRetryHostPredicateList()
       Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
       for retries. If any of the predicates reject the host, host selection will be reattempted.
       Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
       details.
       
      repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
      Specified by:
      getRetryHostPredicateList in interface RetryPolicyOrBuilder
    • getRetryHostPredicateOrBuilderList

      public List<? extends RetryPolicy.RetryHostPredicateOrBuilder> getRetryHostPredicateOrBuilderList()
       Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
       for retries. If any of the predicates reject the host, host selection will be reattempted.
       Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
       details.
       
      repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
      Specified by:
      getRetryHostPredicateOrBuilderList in interface RetryPolicyOrBuilder
    • getRetryHostPredicateCount

      public int getRetryHostPredicateCount()
       Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
       for retries. If any of the predicates reject the host, host selection will be reattempted.
       Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
       details.
       
      repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
      Specified by:
      getRetryHostPredicateCount in interface RetryPolicyOrBuilder
    • getRetryHostPredicate

      public RetryPolicy.RetryHostPredicate getRetryHostPredicate(int index)
       Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
       for retries. If any of the predicates reject the host, host selection will be reattempted.
       Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
       details.
       
      repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
      Specified by:
      getRetryHostPredicate in interface RetryPolicyOrBuilder
    • getRetryHostPredicateOrBuilder

      public RetryPolicy.RetryHostPredicateOrBuilder getRetryHostPredicateOrBuilder(int index)
       Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
       for retries. If any of the predicates reject the host, host selection will be reattempted.
       Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
       details.
       
      repeated .envoy.config.route.v3.RetryPolicy.RetryHostPredicate retry_host_predicate = 5;
      Specified by:
      getRetryHostPredicateOrBuilder in interface RetryPolicyOrBuilder
    • getRetryOptionsPredicatesList

      public List<TypedExtensionConfig> getRetryOptionsPredicatesList()
       Retry options predicates that will be applied prior to retrying a request. These predicates
       allow customizing request behavior between retries.
       [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
      Specified by:
      getRetryOptionsPredicatesList in interface RetryPolicyOrBuilder
    • getRetryOptionsPredicatesOrBuilderList

      public List<? extends TypedExtensionConfigOrBuilder> getRetryOptionsPredicatesOrBuilderList()
       Retry options predicates that will be applied prior to retrying a request. These predicates
       allow customizing request behavior between retries.
       [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
      Specified by:
      getRetryOptionsPredicatesOrBuilderList in interface RetryPolicyOrBuilder
    • getRetryOptionsPredicatesCount

      public int getRetryOptionsPredicatesCount()
       Retry options predicates that will be applied prior to retrying a request. These predicates
       allow customizing request behavior between retries.
       [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
      Specified by:
      getRetryOptionsPredicatesCount in interface RetryPolicyOrBuilder
    • getRetryOptionsPredicates

      public TypedExtensionConfig getRetryOptionsPredicates(int index)
       Retry options predicates that will be applied prior to retrying a request. These predicates
       allow customizing request behavior between retries.
       [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
      Specified by:
      getRetryOptionsPredicates in interface RetryPolicyOrBuilder
    • getRetryOptionsPredicatesOrBuilder

      public TypedExtensionConfigOrBuilder getRetryOptionsPredicatesOrBuilder(int index)
       Retry options predicates that will be applied prior to retrying a request. These predicates
       allow customizing request behavior between retries.
       [#comment: add [#extension-category: envoy.retry_options_predicates] when there are built-in extensions]
       
      repeated .envoy.config.core.v3.TypedExtensionConfig retry_options_predicates = 12;
      Specified by:
      getRetryOptionsPredicatesOrBuilder in interface RetryPolicyOrBuilder
    • getHostSelectionRetryMaxAttempts

      public long getHostSelectionRetryMaxAttempts()
       The maximum number of times host selection will be reattempted before giving up, at which
       point the host that was last selected will be routed to. If unspecified, this will default to
       retrying once.
       
      int64 host_selection_retry_max_attempts = 6;
      Specified by:
      getHostSelectionRetryMaxAttempts in interface RetryPolicyOrBuilder
      Returns:
      The hostSelectionRetryMaxAttempts.
    • getRetriableStatusCodesList

      public List<Integer> getRetriableStatusCodesList()
       HTTP status codes that should trigger a retry in addition to those specified by retry_on.
       
      repeated uint32 retriable_status_codes = 7;
      Specified by:
      getRetriableStatusCodesList in interface RetryPolicyOrBuilder
      Returns:
      A list containing the retriableStatusCodes.
    • getRetriableStatusCodesCount

      public int getRetriableStatusCodesCount()
       HTTP status codes that should trigger a retry in addition to those specified by retry_on.
       
      repeated uint32 retriable_status_codes = 7;
      Specified by:
      getRetriableStatusCodesCount in interface RetryPolicyOrBuilder
      Returns:
      The count of retriableStatusCodes.
    • getRetriableStatusCodes

      public int getRetriableStatusCodes(int index)
       HTTP status codes that should trigger a retry in addition to those specified by retry_on.
       
      repeated uint32 retriable_status_codes = 7;
      Specified by:
      getRetriableStatusCodes in interface RetryPolicyOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The retriableStatusCodes at the given index.
    • hasRetryBackOff

      public boolean hasRetryBackOff()
       Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
       default base interval is 25 milliseconds or, if set, the current value of the
       ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
       the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
       describes Envoy's back-off algorithm.
       
      .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8;
      Specified by:
      hasRetryBackOff in interface RetryPolicyOrBuilder
      Returns:
      Whether the retryBackOff field is set.
    • getRetryBackOff

      public RetryPolicy.RetryBackOff getRetryBackOff()
       Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
       default base interval is 25 milliseconds or, if set, the current value of the
       ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
       the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
       describes Envoy's back-off algorithm.
       
      .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8;
      Specified by:
      getRetryBackOff in interface RetryPolicyOrBuilder
      Returns:
      The retryBackOff.
    • getRetryBackOffOrBuilder

      public RetryPolicy.RetryBackOffOrBuilder getRetryBackOffOrBuilder()
       Specifies parameters that control exponential retry back off. This parameter is optional, in which case the
       default base interval is 25 milliseconds or, if set, the current value of the
       ``upstream.base_retry_backoff_ms`` runtime parameter. The default maximum interval is 10 times
       the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
       describes Envoy's back-off algorithm.
       
      .envoy.config.route.v3.RetryPolicy.RetryBackOff retry_back_off = 8;
      Specified by:
      getRetryBackOffOrBuilder in interface RetryPolicyOrBuilder
    • hasRateLimitedRetryBackOff

      public boolean hasRateLimitedRetryBackOff()
       Specifies parameters that control a retry back-off strategy that is used
       when the request is rate limited by the upstream server. The server may
       return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
       provide feedback to the client on how long to wait before retrying. If
       configured, this back-off strategy will be used instead of the
       default exponential back off strategy (configured using ``retry_back_off``)
       whenever a response includes the matching headers.
       
      .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11;
      Specified by:
      hasRateLimitedRetryBackOff in interface RetryPolicyOrBuilder
      Returns:
      Whether the rateLimitedRetryBackOff field is set.
    • getRateLimitedRetryBackOff

      public RetryPolicy.RateLimitedRetryBackOff getRateLimitedRetryBackOff()
       Specifies parameters that control a retry back-off strategy that is used
       when the request is rate limited by the upstream server. The server may
       return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
       provide feedback to the client on how long to wait before retrying. If
       configured, this back-off strategy will be used instead of the
       default exponential back off strategy (configured using ``retry_back_off``)
       whenever a response includes the matching headers.
       
      .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11;
      Specified by:
      getRateLimitedRetryBackOff in interface RetryPolicyOrBuilder
      Returns:
      The rateLimitedRetryBackOff.
    • getRateLimitedRetryBackOffOrBuilder

      public RetryPolicy.RateLimitedRetryBackOffOrBuilder getRateLimitedRetryBackOffOrBuilder()
       Specifies parameters that control a retry back-off strategy that is used
       when the request is rate limited by the upstream server. The server may
       return a response header like ``Retry-After`` or ``X-RateLimit-Reset`` to
       provide feedback to the client on how long to wait before retrying. If
       configured, this back-off strategy will be used instead of the
       default exponential back off strategy (configured using ``retry_back_off``)
       whenever a response includes the matching headers.
       
      .envoy.config.route.v3.RetryPolicy.RateLimitedRetryBackOff rate_limited_retry_back_off = 11;
      Specified by:
      getRateLimitedRetryBackOffOrBuilder in interface RetryPolicyOrBuilder
    • getRetriableHeadersList

      public List<HeaderMatcher> getRetriableHeadersList()
       HTTP response headers that trigger a retry if present in the response. A retry will be
       triggered if any of the header matches match the upstream response headers.
       The field is only consulted if 'retriable-headers' retry policy is active.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
      Specified by:
      getRetriableHeadersList in interface RetryPolicyOrBuilder
    • getRetriableHeadersOrBuilderList

      public List<? extends HeaderMatcherOrBuilder> getRetriableHeadersOrBuilderList()
       HTTP response headers that trigger a retry if present in the response. A retry will be
       triggered if any of the header matches match the upstream response headers.
       The field is only consulted if 'retriable-headers' retry policy is active.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
      Specified by:
      getRetriableHeadersOrBuilderList in interface RetryPolicyOrBuilder
    • getRetriableHeadersCount

      public int getRetriableHeadersCount()
       HTTP response headers that trigger a retry if present in the response. A retry will be
       triggered if any of the header matches match the upstream response headers.
       The field is only consulted if 'retriable-headers' retry policy is active.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
      Specified by:
      getRetriableHeadersCount in interface RetryPolicyOrBuilder
    • getRetriableHeaders

      public HeaderMatcher getRetriableHeaders(int index)
       HTTP response headers that trigger a retry if present in the response. A retry will be
       triggered if any of the header matches match the upstream response headers.
       The field is only consulted if 'retriable-headers' retry policy is active.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
      Specified by:
      getRetriableHeaders in interface RetryPolicyOrBuilder
    • getRetriableHeadersOrBuilder

      public HeaderMatcherOrBuilder getRetriableHeadersOrBuilder(int index)
       HTTP response headers that trigger a retry if present in the response. A retry will be
       triggered if any of the header matches match the upstream response headers.
       The field is only consulted if 'retriable-headers' retry policy is active.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_headers = 9;
      Specified by:
      getRetriableHeadersOrBuilder in interface RetryPolicyOrBuilder
    • getRetriableRequestHeadersList

      public List<HeaderMatcher> getRetriableRequestHeadersList()
       HTTP headers which must be present in the request for retries to be attempted.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10;
      Specified by:
      getRetriableRequestHeadersList in interface RetryPolicyOrBuilder
    • getRetriableRequestHeadersOrBuilderList

      public List<? extends HeaderMatcherOrBuilder> getRetriableRequestHeadersOrBuilderList()
       HTTP headers which must be present in the request for retries to be attempted.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10;
      Specified by:
      getRetriableRequestHeadersOrBuilderList in interface RetryPolicyOrBuilder
    • getRetriableRequestHeadersCount

      public int getRetriableRequestHeadersCount()
       HTTP headers which must be present in the request for retries to be attempted.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10;
      Specified by:
      getRetriableRequestHeadersCount in interface RetryPolicyOrBuilder
    • getRetriableRequestHeaders

      public HeaderMatcher getRetriableRequestHeaders(int index)
       HTTP headers which must be present in the request for retries to be attempted.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10;
      Specified by:
      getRetriableRequestHeaders in interface RetryPolicyOrBuilder
    • getRetriableRequestHeadersOrBuilder

      public HeaderMatcherOrBuilder getRetriableRequestHeadersOrBuilder(int index)
       HTTP headers which must be present in the request for retries to be attempted.
       
      repeated .envoy.config.route.v3.HeaderMatcher retriable_request_headers = 10;
      Specified by:
      getRetriableRequestHeadersOrBuilder in interface RetryPolicyOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static RetryPolicy parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RetryPolicy parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RetryPolicy parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RetryPolicy parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RetryPolicy parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RetryPolicy parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static RetryPolicy parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RetryPolicy parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RetryPolicy parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static RetryPolicy parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RetryPolicy parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static RetryPolicy parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public RetryPolicy.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static RetryPolicy.Builder newBuilder()
    • newBuilder

      public static RetryPolicy.Builder newBuilder(RetryPolicy prototype)
    • toBuilder

      public RetryPolicy.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected RetryPolicy.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static RetryPolicy getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<RetryPolicy> parser()
    • getParserForType

      public com.google.protobuf.Parser<RetryPolicy> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public RetryPolicy getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder