-
Notifications
You must be signed in to change notification settings - Fork 4.5k
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: introduce generic xds clients xDS and LRS Client API signatures #8042
Merged
purnesh42H
merged 26 commits into
grpc:master
from
purnesh42H:generic-xds-client-2-interface
Mar 6, 2025
Merged
Changes from 24 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
56459d6
xds: generic xds client common configs
purnesh42H 1bb7909
re-push comments
purnesh42H 03ea00d
improve ServerConfig equal
purnesh42H bc8d7a7
easwar review round 1 on documentation
purnesh42H 053ff95
easwar comments on docstrings
purnesh42H 4cd4ef1
easwar comments round 4
purnesh42H 49f1e3b
config tests
purnesh42H 835f9e4
merge with previous pr
purnesh42H f93c438
xds: add lrs client and xDS client interfaces
purnesh42H 72b99b4
second pass to documentation language
purnesh42H 77689c2
change from godoc review
purnesh42H 0659a44
dfawley review 2
purnesh42H 5454ab1
easwar review 1
purnesh42H c1a18cd
changed to decoder struct
purnesh42H 077bdd0
move authorities under xds client
purnesh42H 0dd84b6
easwar review 2
purnesh42H 03b3e6d
easwars review 4
purnesh42H 8f7a4df
ResourceWatcher done and LoadStore stop
purnesh42H 48b05eb
doug
purnesh42H 0418208
address godoc review comments
purnesh42H 1569a11
dfawley nits
purnesh42H 0d234e0
rebase over grpctransport changes
purnesh42H 0608187
Move clients config helpers to clients/internal
purnesh42H 833a19b
remove ReportLoadTimeout from lrs config
purnesh42H 60166b7
doug final nits
purnesh42H b6ac539
remove ServerIdentifierEqual
purnesh42H File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
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.
We don't have an
Equal
method, but our own docs recommend one? Are we sure we actually need one? If only the transport would need it, then I don't think we do.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.
We will need it when de-duplicating the transport channel. That will come in final xDS client implementation PR. I was thinking of adding it at that time. Why do you think we won't need one?
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.
Deduplicating will require it to be a map key, not to have an
Equal
method.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.
I don't think we can hash the complex fields like extensions right? So, we need a equal method to get the right key for the map and then lookup that key. Something like done here for xDS Server Config
grpc-go/xds/internal/xdsclient/authority.go
Line 531 in bffa4be
So, ServerConfig needs equal method and in turn we need to check equality for embedded ServerIdentifier. I don't think we can get away without equality unless every field has a String() method.
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.
@easwars wdyt?
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.
Discussed internally with @dfawley. For now, we can remove and see if we can find other ways to tackle comparing channels.