-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
xdsclient: fix new watcher hang when registering for removed resource #7853
xdsclient: fix new watcher hang when registering for removed resource #7853
Conversation
df8ae14
to
a8ada61
Compare
a8ada61
to
a632665
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #7853 +/- ##
==========================================
+ Coverage 81.84% 81.86% +0.02%
==========================================
Files 374 374
Lines 37993 37980 -13
==========================================
- Hits 31096 31093 -3
+ Misses 5598 5588 -10
Partials 1299 1299
|
Same here. I think this is also worth release noting. |
908ccfe
to
815f2a8
Compare
815f2a8
to
ab561b3
Compare
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.
Looks mostly good. Mostly nits this time around.
For the release note, how about something like:
|
Nobody is using our xdsclient so we don't want to document it this way. Could this affect grpc users? If so, how? Something like:
? |
yeah initially i didn't add release notes because i thought its not being directly used by users. I guess its just used as part of xds lb policy so may be having xds as top level package is fine.
this is not clear to me. If someone is using xds lb policy, they would know about resource deletions right? So, its fine to mention that? May be something like, |
|
The way users use xDS on the client is by specifying a dial target with an And the way users use xDS on the server is by explicitly created an xDS-enabled gRPC server. This functionality is provided by the So, the user will not see the effects on watch callbacks being invoked or not, but they would be able to see the knock-on effects of those. So yes, I agree with @dfawley in making the release note more applicable from the user's pov. But I feel the proposal from Doug made it sounds more scary than it actually is. So maybe? xds: fixed a (rare|edge-case|corner-case) issue where some clients or servers would not initialize correctly if another channel or server with the same target was already in use |
Updated the release notes as edge case. We can revisit during release again. Merging now |
I'm not really concerned with the release notes sounding too scary, but they should be accurate. So it should clearly indicate that it's a "sometimes" not an "always". But "an edge-case issue" sounds awkward to me.
? |
Addresses: #7819
Right now if any new watcher try to register watcher for removed resource, it hangs as there is no update to be received. This fix adds a condition in xDS Client to trigger watch callback
OnResourceDoesNotExist()
to new watcher if its registering for a removed resource.RELEASE NOTES: