envoyproxy / envoyproxy/java-control-plane
Watch Created with Empty Resource Names
- Dominant language
- Java
- Stars
- 312
- Forks
- 149
- PR merge metrics
- No merged PRs in 30d
Description
According to the [Envoy xDS protocol documentation](https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol#how-the-client-specifies-what-resources-to-return):
```
If the list of resource names becomes empty, that means the client is no longer interested in any resources of the specified type.
```
However, the `DiscoveryRequestStreamObserver` currently creates a new watch even when the resource names list becomes empty, which violates the spec.
https://github.com/envoyproxy/java-control-plane/blob/main/server/src/main/java/io/envoyproxy/controlplane/server/DiscoveryRequestStreamObserver.java#L80-L94
I think we can just cancel the previous watch and not create another one in this case. Please let me know if this makes sense, and I’ll be happy to submit a PR.
Contributor guide
Assessment
This issue has not been assessed yet.