-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
mysqlctld: setup a different default for onterm_timeout #15575
mysqlctld: setup a different default for onterm_timeout #15575
Conversation
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
Until now we've had the same timeouts for shutdown etc. across the different binaries. This doesn't provide the necessary flexibility though, since for example `mysqlctld` will need longer timeouts. This is because it needs to shut down MySQL and we need it to honor the MySQL shutdown timeout as well. This means this can take significantly longer to ensure the shutdown is clean. It's necessary to do this, to ensure things like being able to upgrade MySQL since that depends on clean shutdowns. Signed-off-by: Dirkjan Bussink <[email protected]>
96a854f
to
e45438b
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #15575 +/- ##
==========================================
- Coverage 67.41% 65.75% -1.67%
==========================================
Files 1560 1561 +1
Lines 192752 194851 +2099
==========================================
- Hits 129952 128129 -1823
- Misses 62800 66722 +3922 ☔ View full report in Codecov by Sentry. |
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.
I am onboard with this change. However it is technically a backwards incompatible change, so we need to document it as such.
Let's create an issue and write a release note. I believe website flag docs will also need to be regenerated unless that is now automatically triggered by merges on the main repo.
Signed-off-by: Dirkjan Bussink <[email protected]>
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.
LGTM. Let's get the issue created and release note added, and I can approve after I review the release note.
For the record, I think it is indeed a good idea to start moving globals at the servenv level into structs that can be overridden by each binary, so thank you for starting us down this path.
@@ -87,7 +87,7 @@ var ( | |||
mysqlPort = 3306 | |||
mysqlSocket string | |||
mysqlTimeout = 5 * time.Minute | |||
mysqlShutdownTimeout = 5 * time.Minute | |||
mysqlShutdownTimeout = mysqlctl.DefaultShutdownTimeout |
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.
Insane that we were defining this 5 minutes in multiple places.
They are generated by vitess-bot, so I've removed the label for website docs. |
Signed-off-by: Dirkjan Bussink <[email protected]>
@deepthi Added a release note as well. |
Until now we've had the same timeouts for shutdown etc. across the different binaries. This doesn't provide the necessary flexibility though, since for example
mysqlctld
will need longer timeouts.This is because it needs to shut down MySQL and we need it to honor the MySQL shutdown timeout as well. This means this can take significantly longer to ensure the shutdown is clean.
It's necessary to do this, to ensure things like being able to upgrade MySQL since that depends on clean shutdowns.
Related Issue(s)
Fixes #15577
Checklist