|
|
|
@ -1257,13 +1257,18 @@ message HedgePolicy { |
|
|
|
|
// [#not-implemented-hide:] |
|
|
|
|
type.v3.FractionalPercent additional_request_chance = 2; |
|
|
|
|
|
|
|
|
|
// Indicates that a hedged request should be sent when the per-try timeout |
|
|
|
|
// is hit. This will only occur if the retry policy also indicates that a |
|
|
|
|
// timed out request should be retried. |
|
|
|
|
// Once a timed out request is retried due to per try timeout, the router |
|
|
|
|
// filter will ensure that it is not retried again even if the returned |
|
|
|
|
// response headers would otherwise be retried according the specified |
|
|
|
|
// :ref:`RetryPolicy <envoy_api_msg_config.route.v4alpha.RetryPolicy>`. |
|
|
|
|
// Indicates that a hedged request should be sent when the per-try timeout is hit. |
|
|
|
|
// This means that a retry will be issued without resetting the original request, leaving multiple upstream requests in flight. |
|
|
|
|
// The first request to complete successfully will be the one returned to the caller. |
|
|
|
|
// |
|
|
|
|
// * At any time, a successful response (i.e. not triggering any of the retry-on conditions) would be returned to the client. |
|
|
|
|
// * Before per-try timeout, an error response (per retry-on conditions) would be retried immediately or returned ot the client |
|
|
|
|
// if there are no more retries left. |
|
|
|
|
// * After per-try timeout, an error response would be discarded, as a retry in the form of a hedged request is already in progress. |
|
|
|
|
// |
|
|
|
|
// Note: For this to have effect, you must have a :ref:`RetryPolicy <envoy_api_msg_config.route.v4alpha.RetryPolicy>` that retries at least |
|
|
|
|
// one error code and specifies a maximum number of retries. |
|
|
|
|
// |
|
|
|
|
// Defaults to false. |
|
|
|
|
bool hedge_on_per_try_timeout = 3; |
|
|
|
|
} |
|
|
|
|