Retries
Package: retries.options.gloo.solo.io
Types:
Source File: github.com/solo-io/gloo/projects/gloo/api/v1/options/retries/retries.proto
RetryBackOff
This specifies the retry policy interval for backoffs. Note that if the base interval provided is larger than the maximum interval OR if any of the durations passed are <= 0 MS, there will be an error.
"baseInterval": .google.protobuf.Duration
"maxInterval": .google.protobuf.Duration
| Field | Type | Description |
|---|---|---|
baseInterval |
.google.protobuf.Duration | Specifies the base interval for a retry. |
maxInterval |
.google.protobuf.Duration | Specifies the max interval for a retry. |
ResetHeader
ResetHeader is a header that is used to reset the retry backoff.
"name": string
"format": .retries.options.gloo.solo.io.ResetHeader.HeaderFormat
| Field | Type | Description |
|---|---|---|
name |
string |
Specifies the name of the header to interpret for the retry backoff. |
format |
.retries.options.gloo.solo.io.ResetHeader.HeaderFormat | Specifies the format of the header to interpret for the retry backoff. |
HeaderFormat
| Name | Description |
|---|---|
SECONDS |
|
UNIX_TIMESTAMP |
RateLimitedRetryBackOff
This specifies the retry policy interval for rate limited requests. Based on: https://github.com/envoyproxy/envoy/blob/4a134ce926cf0b882a4c416734b579f9722ed1eb/api/envoy/config/route/v3/route_components.proto#L1522
"resetHeaders": []retries.options.gloo.solo.io.ResetHeader
"maxInterval": .google.protobuf.Duration
| Field | Type | Description |
|---|---|---|
resetHeaders |
[]retries.options.gloo.solo.io.ResetHeader | Specifies the reset headers (like Retry-After or X-RateLimit-Reset) to match against the response. Headers are tried in order, and matched case insensitive. The first header to be parsed successfully is used. If no headers match the default exponential back-off is used instead. |
maxInterval |
.google.protobuf.Duration | Specifies the maximum back off interval that Gloo will allow. If a reset header contains an interval longer than this then it will be discarded and the next header will be tried. Defaults to 300 seconds. |
RetryPolicy
Retry Policy applied at the Route and/or Virtual Hosts levels.
"retryOn": string
"numRetries": int
"perTryTimeout": .google.protobuf.Duration
"retryBackOff": .retries.options.gloo.solo.io.RetryBackOff
"previousPriorities": .retries.options.gloo.solo.io.RetryPolicy.PreviousPriorities
"retriableStatusCodes": []int
"rateLimitedRetryBackOff": .retries.options.gloo.solo.io.RateLimitedRetryBackOff
| Field | Type | Description |
|---|---|---|
retryOn |
string |
Specifies the conditions under which retry takes place. These are the same conditions documented for Envoy. |
numRetries |
int |
Specifies the allowed number of retries. This parameter is optional and defaults to 1. These are the same conditions documented for Envoy. |
perTryTimeout |
.google.protobuf.Duration | Specifies a non-zero upstream timeout per retry attempt. This parameter is optional. |
retryBackOff |
.retries.options.gloo.solo.io.RetryBackOff | Specifies the retry policy interval. |
previousPriorities |
.retries.options.gloo.solo.io.RetryPolicy.PreviousPriorities | Specify the previous priorities. For more information about previous priorities, see the Envoy docs. |
retriableStatusCodes |
[]int |
Optional: HTTP status codes that should trigger a retry in addition to those specified by retry_on. This can be useful if you want to retry on a status code that is not in the retry_on list. Specifically those in the 4xx range. |
rateLimitedRetryBackOff |
.retries.options.gloo.solo.io.RateLimitedRetryBackOff | Optional: Specifies the retry backoff strategy for rate limited requests. |
PreviousPriorities
"updateFrequency": .google.protobuf.UInt32Value
| Field | Type | Description |
|---|---|---|
updateFrequency |
.google.protobuf.UInt32Value | Specify the update frequency for the previous priorities. For more information about previous priorities, see the Envoy docs. This option only works in combination with an Upstream failover policy that enables priorities. |