You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(xds): raise xDS gRPC server default receive limit and make it configurable (#9564)
* feat(xds): add configurable max receive message size for xDS gRPC server
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
* update release notes
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
* test(xds): add coverage for MaxRecvMsgSize runner option
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
* lint
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
* refactor: rename MaxRecvMsgSize to MaxReceiveMessageSize for consistency
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
* docs: improve MaxReceiveMessageSize comment and release note
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
* feat(xds): set default max receive message size to 32MiB
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
---------
Signed-off-by: Lin Moskovitch <lin.moskovitch@sap.com>
Co-authored-by: Guy Daich <guy.daich@sap.com>
Added `xdsServer.maxReceiveMessageSize` to the EnvoyGateway API and raised the xDS gRPC server's default receive limit from 4MiB to 32MiB. At large resource counts, an Envoy proxy's delta xDS request on stream reconnect can exceed 4MiB, which previously broke the stream with "received message larger than max" errors and left the proxy on its last known-good configuration.
Copy file name to clipboardExpand all lines: site/content/en/latest/api/extension_types.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6603,6 +6603,7 @@ _Appears in:_
6603
6603
| --- | --- | --- | --- | --- |
6604
6604
|`maxConnectionAge`|_[Duration](https://gateway-api.sigs.k8s.io/reference/api-spec/1.5/spec/#duration)_| false || MaxConnectionAge is the maximum age of an active connection before Envoy Gateway will initiate a graceful close.<br />If unspecified, Envoy Gateway randomly selects a value between 10h and 12h to stagger reconnects across replicas. |
6605
6605
|`maxConnectionAgeGrace`|_[Duration](https://gateway-api.sigs.k8s.io/reference/api-spec/1.5/spec/#duration)_| false || MaxConnectionAgeGrace is the grace period granted after reaching MaxConnectionAge before the connection is forcibly closed.<br />The default grace period is 2m. |
6606
+
|`maxReceiveMessageSize`|_[Quantity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/#quantity-resource-api)_| false || MaxReceiveMessageSize defines the maximum size of a single xDS message that the xDS gRPC<br />server will accept from an Envoy proxy.<br />Envoy's requests grow with the number of resources it holds: on every stream (re)connect,<br />the first delta xDS request for each resource type echoes back the name and version of<br />every resource the proxy currently has. At a large enough scale this exceeds the 4MiB<br />default, and the stream fails immediately with "received message larger than max", leaving<br />the proxy stuck on its last known-good configuration.<br />Note this limit applies only to what Envoy Gateway receives; the configuration it sends to<br />Envoy is not bounded by it.<br />If unspecified, defaults to 32MiB. |
0 commit comments