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

Node ID should be available in RPC errors #7931

Open
dfawley opened this issue Dec 13, 2024 · 2 comments
Open

Node ID should be available in RPC errors #7931

dfawley opened this issue Dec 13, 2024 · 2 comments
Assignees
Labels
Area: xDS Includes everything xDS related, including LB policies used with xDS. Type: Feature New features or improvements in behavior

Comments

@dfawley
Copy link
Member

dfawley commented Dec 13, 2024

  1. Include node ID with all xdsclient errors possible

  2. Audit all possible ways an xds-enabled gRPC channel can fail as a result of xdsclient problems, and ensure the xdsclient error is propagated to RPC errors

@dfawley
Copy link
Member Author

dfawley commented Dec 13, 2024

@easwars can you help scope this, please?

@dfawley dfawley added the Type: Feature New features or improvements in behavior label Dec 13, 2024
@purnesh42H purnesh42H added the Area: xDS Includes everything xDS related, including LB policies used with xDS. label Jan 12, 2025
@easwars
Copy link
Contributor

easwars commented Feb 13, 2025

I suggest making the following changes:

  • The watch resource API call on the xDS client can fail for a bunch of reasons. We need to include the node ID in all these errors:
    • A resource type implementation was already registered.
    • Authority in the resource name is not found in the bootstrap configuration.
    • Creation of transport to the management server fails.
  • A resource is NACKed:
    • The OnError callback needs to include the xDS node ID in the returned error.
    • The error is also stored in the cache to return to future watchers. This should include the xDS node ID as well.
  • Reporting connectivity failures from xDS client to watchers. xDS node id should be part of these errors.
  • CDS lb policy needs to include the xDS node id in errors
    • Requested resource is not found
    • Sends a resolver error to child policy or puts the channel in TF
  • xDS resolver needs to include the xDS node id in the following cases
    • Error reported to the channel (when requested resource is not found)
    • Error reported from the config selector
  • xDS server needs to include the xDS node id when it puts the server in non-serving mode
  • All resource watchers' OnResourceDoesNotExist callback should include the xDS node id if they are throwing a log. Also, these logs should not be Info protected with a verbosity check, but should be Error logs since resource not found is usually something that is worth sharing with the user by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: xDS Includes everything xDS related, including LB policies used with xDS. Type: Feature New features or improvements in behavior
Projects
None yet
Development

No branches or pull requests

3 participants