envoyproxy / envoyproxy/envoy

Send retry reason to upstream

Aperta
#6,001 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement help wanted
Lingua principale
C++
Stelle
28.9k
Fork
5.6k
Merge medio
1g 22h
PR unite (30g)
430

Descrizione

We're interested in passing information to the upstream about why the request was retried.

The idea is to avoid retrying in the upstream if the request was retried due to an application issue, to prevent an explosion of retries. Currently we can infer whether a retry happened with the `x-envoy-attempt-count` header, but this doesn't differentiate between different retry reasons. We're interested
in being able to adjust retry behavior in the upstream only on certain kinds of retry reasons.

I'm imaging this being implemented by setting a header with a comma separated list of retry reasons, something like `x-envoy-retry-reason: 5xx,connect-failure`. This way the upstream can determine that we're currently retrying a 5xx that saw a connect failure when attempting the first retry.

This would be guarded by a config flag on the `Route`, similar to the attempt count header.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.