Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xds: omit node in subsequent discovery requests in the gRPC call #7860

Closed
kyessenov opened this issue Aug 7, 2019 · 2 comments · Fixed by #7876
Closed

xds: omit node in subsequent discovery requests in the gRPC call #7860

kyessenov opened this issue Aug 7, 2019 · 2 comments · Fixed by #7876
Labels
enhancement Feature requests. Not bugs or questions. help wanted Needs help!
Milestone

Comments

@kyessenov
Copy link
Contributor

kyessenov commented Aug 7, 2019

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

@htuch
Copy link
Member

htuch commented Aug 8, 2019

Yes, this should be done if we're not already. I thought we were already doing this.

@htuch htuch added enhancement Feature requests. Not bugs or questions. help wanted Needs help! labels Aug 8, 2019
@kyessenov
Copy link
Contributor Author

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.

@mattklein123 mattklein123 added this to the 1.12.0 milestone Aug 11, 2019
htuch pushed a commit that referenced this issue Aug 13, 2019
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature requests. Not bugs or questions. help wanted Needs help!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants