gRPC trailers dropped by oghttp2 when the response is exactly 65535 bytes
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
**Note**:
While this ticket remains open, if you as a user are encountering this issue, you can likely remedy it by explicitly setting the runtime flag `envoy.reloadable_features.http2_use_oghttp2` to false.
*Description*:
Recently we upgraded to Istio 1.26.2 which includes a version of Envoy (ad034036be91ff9f0cd1993e5053dd4f3ee64895/1.34.2-dev/Clean/RELEASE/BoringSSL) that enables the envoy.reloadable_features.http2_use_oghttp2 runtime flag by default - this causes issues for gRPC requests where the response is 65535 bytes.
*Repro steps*:
- Connect two services together with Envoy.
- Use HTTP2 (and gRPC).
- Return a response that Envoy measures as 65535 bytes.
- The trailers of the response will be missing.
Issue reported on the Istio repo: https://github.com/istio/istio/issues/56734
*Admin and Stats Output*:
>Include the admin output for the following endpoints: /stats,
/clusters, /routes, /server_info. For more information, refer to the
[admin endpoint documentation.](https://www.envoyproxy.io/docs/envoy/latest/operations/admin)
[server_info.txt](https://github.com/user-attachments/files/21922433/server_info.txt)
[clusters.txt](https://github.com/user-attachments/files/21922426/clusters.txt)
[stats.txt](https://github.com/user-attachments/files/21922427/stats.txt)
*Config*:
>Include the config used to configure Envoy.
Client: [config.json](https://github.com/user-attachments/files/21922442/config.json)
*Logs*:
>Include the access logs and the Envoy logs.
[client-sidecar.txt](https://github.com/user-attachments/files/21922454/client-sidecar.txt)
[server-sidecar.txt](https://github.com/user-attachments/files/21922455/server-sidecar.txt)
*TCP dumps:*
[pcaps.zip](https://github.com/user-attachments/files/21922481/pcaps.zip)
Contributor guide
Assessment
This issue has not been assessed yet.