Skip to content

XdsClient does not cache onError for new watchers #11672

@ejona86

Description

@ejona86

Consider the flow:

  1. Watcher X is added for resource A
  2. Resource A is received, but NACKed. Watcher X is called and told about the error
  3. Watcher Y is added for resource A. It doesn't receive a cached value (because one doesn't exist) and also isn't told about the error. It simply hangs

We already have code that checks for errors when adding a new watcher, but those are only for persistent errors where we can't even talk to the control plane (e.g., no control plane is defined for the authority). We probably need to save the error within onError().

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions