Open
Description
Consider the flow:
- Watcher X is added for resource A
- Resource A is received, but NACKed. Watcher X is called and told about the error
- 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
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
[-]XdsClient does not cache onError for new subscribers[/-][+]XdsClient does not cache onError for new watchers[/+]