Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
A71: xDS Fallback #386
A71: xDS Fallback #386
Changes from all commits
020bf70
eeb35f9
1b5b7ea
7514fc9
f338bd9
3805037
35ce9d8
4b3cfcb
1a63fa6
48e3939
f0761cc
410e6c5
036a95f
ec5c0f8
0dd7bc4
5f3f2cb
ed4ed8a
8a4169a
b7c10c8
b0a6bd8
c143dce
e4a6582
e7480a4
f81ad8d
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to give an example of such an environment? And in what environments would be the converse be true, i.e data from primary and fallback management servers are equally favorable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a clarification
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Java and Go support multiple listeners for the same xds-enabled gRPC server. This means that the LDS resource requested by each of these listeners will be different. Instead of using a well-known key and sharing the
XdsClient
across all these listeners, would it make sense to key it based on the server listener resource name? This would mean that there will be no sharing ofXdsClient
across server listeners though.And the same issue can show up in C-core as well, if the application contains more than one xds-enabled grpc server.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@markdroth I am not familiar with this feature. Any advice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, it's Java that does not support multiple listeners per server; C-core and Go both do.
It's generally fairly rare to have multiple servers or multiple listening addresses in the same binary, and in the cases where it happens, it's most likely the case that the two listeners are closely related and would be fine sharing fate w.r.t. fallback (e.g., serving the same content on a public port with TlsCreds and on a loopback port with InsecureCreds). And in C-core and Go, using a different XdsClient per listening address would add complexity, since we'd need to track different XdsClient instances in the same server.
For now, let's stick with a single key for all servers, regardless of listening address. We can change this later if needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks to be missing a subject. Was this intended to be "Changing XdsClient..."
That's unclear though. Is that a theoretical, "if we made this change then we'd get this result," or is it "we are making this change to get this result." Maybe something like:
And then maybe the "This change would change..." paragraph gets merged in here. Right now it is unclear what "this change" is referring to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please take a loog at #407 where I tried addressing your comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The CSDS change seems independent enough to deserve a separate sub-section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated