envoyproxy/envoy

grpc: grpc-status in trailers does not trigger retries

Open

#17.629 geöffnet am 9. Aug. 2021

Auf GitHub ansehen
 (5 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/grpcarea/routerhelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

I noticed that currently for gRPC:

Envoy's retries will only detect grpc-status in Headers.When the server sets a custom Header, grpc-status will appear in the Trailers, which will cause Envoy's retries to not work: https://github.com/grpc/grpc-go/blob/master/stream.go#L1369

I think we should do something in here: https://github.com/envoyproxy/envoy/blob/main/source/common/router/router.cc#L1392-L1412

I noticed this comment, which makes me think that the developers didn't accidentally overlook the problem, but just put it aside for now: https://github.com/envoyproxy/envoy/blob/main/source/common/router/router.cc#L1238-L1240

So are there any special considerations or difficulties? Will I get support if I submit a PR to fix this issue?

Contributor Guide