-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
What version of gRPC-Java are you using?
Latest 1.63.0
What is your environment?
Mac, Unix, any JVM
TLS client/server
What did you expect to see?
Large headers over 200KB should work without issue over TLS, even if not ideal.
What did you see instead?
The connection is closed and gRPC errors reported.
Steps to reproduce the bug
- Create a standard gRPC client/server
- Setup TLS on both ends (plaintext does not cause issues)
- Add metadata header with large size such as over 150KB
- Setup client:server side maxHeader config to above that size
- Make the request
- Result should be a Netty assertion error due to maxFrameSize exceeded
This occurs due to a bug in Netty that was resolved in 106.Final. gRPC is actively on 100.Final.
Note that these more recent additions to Netty also renamed the GraalVM reflection config file. There is an integration test for the shaded Netty package to verify that file is repackaged. This test fails since the file name was renamed. Updating the name of that file fixes that issue.
This bug is currently breaking any TLS connection using large headers. We did verify updating to latest Netty does resolve.
Is it possible to update the version of Netty within gRPC to fix the underlying HTTP2 issue?
Thanks!