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
xDS requests include a node proto with an arbitrarily large metadata field. This causes a problem if this metadata is a large JSON since it is sent for every EDS request. The proposal is to omit node field in a gRPC stream after the first request. Most gRPC servers can save some state per stream, so they can store the node in the local scope. In fact, this optimization is already applied for ALS and metrics services, so it seems like a gap in xDS.
I'm pretty sure it's not happening right now. Taking a cursory look at go-control-plane, I see that it does not cache Node from the first request, but it still works. More importantly, this is under-specified in xDS specification.
Omit the node identifier from subsequent discovery requests on the same stream.
Restricted to non-incremental xDS for tractability.
Risk Level: low, affects xDS protocol but guarded by an option
Testing: Unit/integration tests are updated
Docs Changes: xDS spec clarification
Release Notes: omit the node identifier from subsequent discovery requests
Fixes: #7860
Signed-off-by: Kuat Yessenov <kuat@google.com>
xDS requests include a node proto with an arbitrarily large metadata field. This causes a problem if this metadata is a large JSON since it is sent for every EDS request. The proposal is to omit
node
field in a gRPC stream after the first request. Most gRPC servers can save some state per stream, so they can store the node in the local scope. In fact, this optimization is already applied for ALS and metrics services, so it seems like a gap in xDS.cc @htuch
The text was updated successfully, but these errors were encountered: