envoyproxy/envoy

grpc: grpc-status in trailers does not trigger retries

Open

#17,629 opened on Aug 9, 2021

View on GitHub
 (5 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/grpcarea/routerhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

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