Skip to content

A74 update: improve XdsDependencyManager watcher API #482

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

Merged
merged 3 commits into from
Mar 12, 2025

Conversation

markdroth
Copy link
Member

@markdroth markdroth commented Mar 11, 2025

The original intent here was that the xds resolver would handle OnError() the same way that it did prior to A74: it would return a result to the channel that had an error for the service config, which would cause the channel to ignore the update if it had already previously seen a valid result. This poses a problem for cases like receiving a socket listener instead of an API listener or receiving a route config that does not contain a virtual host matching the channel's default authority, because in those cases we want to stop using the previously seen resources and start failing data plane RPCs.

This change fixes that by specifying that the xds resolver will see errors only in cases where we want to stop using the previously received resources, if any. As a result, we are able to collapse all three methods on the watcher into one.

@markdroth markdroth requested review from ejona86 and dfawley March 11, 2025 23:47
@ejona86 ejona86 requested a review from murgatroid99 March 12, 2025 00:00
@ejona86
Copy link
Member

ejona86 commented Mar 12, 2025

CC @larry-safran

@markdroth markdroth merged commit fea3788 into grpc:master Mar 12, 2025
1 check passed
@markdroth markdroth deleted the a74_on_error_change branch March 12, 2025 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants