gRPC Metadata Limits: The Good, the Bad, and the Ugly
summary
gRPC C++ metadata is unchecked and can overflow receivers and proxies so production shows two failure modes: a proxy with a lower limit rejects requests, and adding a few bytes to a header across all calls causes a total outage. The team builds a global proxy cap and replaces one limit with a soft limit (defaults to 8 KB) and a hard limit (defaults to 16 KB) exposed as grpc.arg_max_metadata_size and grpc.arg_absolute_max_metadata_size. Errors surface as RESOURCE_EXHAUSTED with exact actual versus allowed sizes and per-key byte counts.
AI-written summary · about
chapters (12)
- 0:00gRPC metadata intro
- 0:43What gRPC metadata is
- 1:47Power of metadata in gRPC
- 2:07Metadata flow limits
- 3:10Production issues from flow limits
- 4:57Global metadata limits
- 5:17Metadata failure case study
- 6:01Soft and hard limits solution
- 7:03Metadata management takeaways
- 8:08New channel arguments
- 8:31Observability challenges
- 9:17Q&A








