-
Notifications
You must be signed in to change notification settings - Fork 9.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
Remove duplicated <-s.ReadyNotify() #19057
Conversation
Signed-off-by: Benjamin Wang <[email protected]>
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ahrtr, serathius The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Should we add a test for shutdown during initialization? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files
... and 23 files with indirect coverage changes @@ Coverage Diff @@
## main #19057 +/- ##
==========================================
+ Coverage 68.79% 68.84% +0.04%
==========================================
Files 420 420
Lines 35627 35626 -1
==========================================
+ Hits 24509 24525 +16
+ Misses 9688 9680 -8
+ Partials 1430 1421 -9 Continue to review full report in Codecov by Sentry.
|
/retest |
It's good to have, but hard to test. The problem is that etcd doesn't wait for the following goroutine to complete or exit when it's stopping. So from product functionality perspective, we don't see any issue. This PR (and previous one) just avoids some unnecessary operations when the server is stopping. Lines 777 to 779 in 026bbec
Even the goroutine leakage detection can't detect it either, because a golang program execution does not wait for the invoked function to complete. etcd/client/pkg/testutil/leak.go Lines 101 to 109 in 026bbec
|
An related but different case: I recall that user applications might run into a deadlock in embeded use case if etcd is being stopped during bootstrap. Raised #19058 |
Follow up to #19041
It was a mistake that I made when debugging the
codecov/patch
failure in #19041. Sorry. Also refer to #19046 (comment)