-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
MDEV-34902: debian-start erroneously reports issues #4390
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
base: 10.11
Are you sure you want to change the base?
Conversation
433b774 to
0e15c8e
Compare
0e15c8e to
39a44a2
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 good, much simpler.
- Why did you replace "tool args" with (tool args) ?
- you missed a bit where I wrote "so let's also add support for FAST to InnoDB"
I looked at ha_innobase::check() implementation, it has a bunch of O(1) checks, like, various values from the header, and few O(N) checks, that scan the data. If I'm not mistaken QUICK disables almost all scanning checks, but may be one was left to work even in QUICK. I'm not sure about it. But if it's the case, please, make FAST to disable it too. Keep all O(1) checks, they can run even with FAST (because they are fast).
Or just confirm that I was wrong and QUICK in InnoDB doesn't do any O(N) checks. Then FAST can simply do the same.
Being a better role model in how to execute programs with distinct arguments in bash.
I saw it, but that would be an enhancement over the existing MyISAM/Aria only checks. I didn't think header corruption was a common problem in InnoDB, By using mariadb-check we're getting to the point all tables are opened (but the information_schema query previously probably did that also). In what is probably a mistake,
Quick seems to skip anything except a crashed table (
I can't tell if
|
39a44a2 to
34247b8
Compare
Unfortunately,
you've apparently prefer the second, with MARIADBCHECK=(/usr/bin/mariadb-check --defaults-extra-file=/etc/mysql/debian.cnf --fast --auto-repair --silent)
MARIADBCHECK_ALL=( "${MARIADBCHECK[@]}" --all-databases)in that case we need to make sure that it will be fast inside InnoDB too. Otherwise it'll be a nasty surprise for all Debian users. |
Remove the complexity of check_for_crashed_tables by removing it all together. When check_for_crashed_tables was written there was a desire to recover MyISAM tables. With Aria being default from 10.4 for system tables, and all non-MyISAM engines being able to do crash recovery there isn't the need to autocheck as part of a system service. With check_for_crashed_tables removed there is no need for a mailx package recommendation. Adjusted the bash scripts to use arrays for correct command execution. Corrected message for insecure passwords to refer to the mysql.global_privs table.
34247b8 to
85c6116
Compare
The --quick option was pretty good for avoiding InnoDB EXTENDED checks and included checking the current read view which is pretty useless on a startup script, and for the current view of So with the rebase/push I'm going option a), don't check anything. With Aria and InnoDB being crash safe we've got no need to be doing checks. |
Description
Due to table names not being escaped properly.
Also the CHECK TABLES on all tables was excessive. This was original there for MyISAM only tables that required repair. Aria and InnoDB will auto-recover.
Rather than script, take the input via the shell and attempt to push that back into SQL keeping all the quoting correclty, just use a stored procedure that is temporarly created.
Release Notes
Change Debian's on service start check script to only
CHECK TABLE tblname FASTon MyISAM tables.How can this PR be tested?
Basing the PR against the correct MariaDB version
mainbranch.PR quality check