envoyproxy / envoyproxy/gateway

Make retry_host_predicate Configurable or Remove Default from Retry Policy

Open
#5,689 5 comments 0 reactions 0 assignees View on GitHub
stale triage
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

Currently, Envoy Gateway sets the following retry host predicate by default in all [retry policies](https://github.com/envoyproxy/gateway/blob/521b78b6efdcd13ebe3fe14c06c45681a84ef97c/internal/xds/translator/route.go#L619):

```json
"retry_host_predicate": [
{
"name": "envoy.retry_host_predicates.previous_hosts",
"typed_config": {
"@type": "type.googleapis.com/envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate"
}
}
]
```

This behavior is hardcoded and cannot be disabled or customized by users.
In the case of clusters with only a single host, this predicate causes retries to fail immediately, since there are no other hosts to select from.

### Request:

Please consider making `retry_host_predicate` configurable.
Alternatively, remove it from the default retry policy unless explicitly set by the user.

Thanks

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.