-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
rpc: avoid possible deadlock on Quiesce #104945
Conversation
If a probe exited due to quiescing, previously it would not signal `c.connFuture`. But if a caller was sitting on `c.ConnectNoBreaker`, it would never get signaled as a result, which could lead to deadlocks during quiesce (as observed in CI). The future is now always signaled with an error if the probe refuses to start or exits due to the stopper quiescing. No release note since bug in no release.
It looks like your PR touches production code but doesn't add or edit any test code. Did you consider adding tests to your PR? 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
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.
💯
bors r+ |
Build failed (retrying...): |
Build failed (retrying...): |
Build failed: |
Commit not found, etc, something broke in bors, not a test failure. bors r+ |
Build failed: |
bors r+ |
Build succeeded: |
If a probe exited due to quiescing, previously it would not signal
c.connFuture
. But if a caller was sitting onc.ConnectNoBreaker
, it wouldnever get signaled as a result, which could lead to deadlocks during quiesce (as observed in CI).
The future is now always signaled with an error if the probe refuses to start or
exits due to the stopper quiescing.
No release note since bug in no release.
Epic: None