-
Notifications
You must be signed in to change notification settings - Fork 515
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
Resource hints updates are ignored and lead to a broken communication #608
Comments
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
no stalebot |
@Necropaw what version of xDS are you using? Delta or SOTW? |
@alecholmez This is for sotw version, unfortunately on the java side if the resolution fails once it never works until the entire thing is restarted. |
I think this can. be marked as dup of #431 FYI @alecholmez All gRPC clients (Go, Java, C-Core and Node) only supports SotW ADS (per https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md#background). |
Closing as dupe of #431. This issue is also related to re-subscription not being handled properly |
Background
In our project we are using the https://github.com/envoyproxy/go-control-plane with the xDS provider from https://github.com/wongnai/xds and grpc-java@v1.50.0 for client.
The client is communicating with multiple gRPC services on different hosts.
Problem
Resource hints are ignored from go-control-plane.
A grpc-java client changes the requested resources over it's lifetime, but go-control-plane stores all requested resources and does not send a resource, if it is requested again.
grpc-java client changing the requested resources:
Some time later the client wants to communicate with service-b again and tries to resolve it:
this fails because the xDS provider remembered that this client already knows service-b in this version and just adds a watcher for possible upcoming changes:
At this stage the client can not communicate with the service anymore.
go-control-plane does not update the known resources in https://github.com/envoyproxy/go-control-plane/blob/main/pkg/server/sotw/v3/server.go#L186, because the resource hints are just
DiscoveryRequests
without anonce
as per specification.Reference
I initially thought this was a grpc-java issue and you can find more info here: grpc/grpc-java#9632
The text was updated successfully, but these errors were encountered: