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

Remove explicit handling of unsupported resource types #9

Merged
merged 2 commits into from
Feb 7, 2025

Conversation

PapaCharlie
Copy link
Member

@PapaCharlie PapaCharlie commented Feb 6, 2025

Because there is no explicit provision for unknown resource types in the xDS protocol, the server implementation had to make a bunch of assumptions about how it should respond. These assumptions incidentally violated the xDS protocol NACK/ACK flow. Instead, the behavior should be handed off to the ResourceLocator implementation so that it can decide what to do. This also allows the simplification of the ResourceLocator interface, which is an added benefit.

Note that this change is backwards incompatible, so will need to be bumped carefully.

I have tested this manually using the bad version of rest.li which triggered this loop (linkedin/rest.li#1038), and can confirm that this behavior is fixed.

Because there is no explicit provision for unknown resource types in the xDS
protocol, the server implementation had to make a bunch of assumptions about
how it should respond. These assumptions incidentally violated the xDS protocol
NACK/ACK flow. Instead, the behavior should be handed off to the
`ResourceLocator` implementation so that it can decide what to do. This also
allows the simplification of the `ResourceLocator` interface, which is an added
benefit.

Note that this change is backwards incompatible, so will need to be bumped
carefully.
Copy link

@ZoabKapoor ZoabKapoor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM, couple of small comments

internal/server/subscription_manager.go Outdated Show resolved Hide resolved
server_test.go Outdated Show resolved Hide resolved
@PapaCharlie PapaCharlie enabled auto-merge (squash) February 7, 2025 23:29
@PapaCharlie PapaCharlie merged commit 8c50a82 into master Feb 7, 2025
2 checks passed
@PapaCharlie PapaCharlie deleted the pc/unknowntype branch February 7, 2025 23:32
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.

2 participants