-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
xds: deletion only to watchers of same control plane #9896
Conversation
When XdsClient learns that a control plane no longer tracks a resource, it should only notify watchers associated with that control plane. This matters in control plane federation cases when more than one control plane is in use.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test takes 12.5 s on my machine. That isn't the deletion detection timer. It looks to be the control plane shutdown awaitTermination. Because you neither unregister the watches not shutdown the xdsClient, xdsClient still has an ADS stream to the fake control planes so you pay 2*5 seconds. The remaining 2.5s may just be classloading.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we know that the two control planes will never use the same resource names among all resource types? To allow for it, we ultimately need to have different subscribers for the same name but different control planes.
Well, we are the one that requests resources by names from a particular control plane. So the initial resources (listeners) would definitely have to have different xdstp authorities, otherwise we'd just talk to one control plane. When a listener references other resources, we use the authority of that resource which is totally allowed to be a different server. That allows servers to delegate to one other. |
When XdsClient learns that a control plane no longer tracks a resource, it should only notify watchers associated with that control plane.
This matters in control plane federation cases when more than one control plane is in use.