Compression and decompression of gRPC through envoy proxy
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 428
Description
What is the proper way to use Envoy to compress and decompress `application/grpc`?
**Description**
I am trying to compress and decompress `application/grpc` through 2 envoy proxies. One handling the compression and one the decompression. However, I find through Wireshark that the Envoy Decompressor filter breaks the gRPC protocol by failing to set the `END_STREAM` flag on the final DATA frame, which causes the backend server to immediately send a TCP Reset.
> [A similar issue](https://github.com/envoyproxy/envoy/issues/6292) has been opened since 2019 but not resolved.
Given this issue, what is the most stable and reliable implementation of compression and decompression through Envoy? Is implementing a header mutation filter to remove the trailers the recommended solution?
Contributor guide
Assessment
This issue has not been assessed yet.