envoyproxy / envoyproxy/envoy

grpc: grpc-status in trailers does not trigger retries

Open
#17,629 5 comments 0 reactions 0 assignees View on GitHub
area/grpc area/router help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.