Improve included mysql configuration files#5326
Conversation
The binlog tests still fail. Signed-off-by: Morgan Tocker <tocker@gmail.com>
sougou
left a comment
There was a problem hiding this comment.
Cleanup is looking really good.
|
Hello, I submitted one issue and one feature , hope it is helpful . |
|
/mycnf/default.cnf 👍 rpl_semi_sync_master_enabled = 1 /mycnf/master_mysql57.cnf /mycnf/replica.cnf |
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Add SBR and sql-mode lines back in Signed-off-by: Morgan Tocker <tocker@gmail.com>
Remove sbr.cnf Signed-off-by: Morgan Tocker <tocker@gmail.com>
Add links to issues for why testsuite requires SBR, sql-mode Signed-off-by: Morgan Tocker <tocker@gmail.com>
Signed-off-by: Morgan Tocker <tocker@gmail.com>
|
Note to reviewers: I discovered this introduces a behavior change to Vitess, because the default sql-mode becomes more strict, in-line with MySQL's default behavior. The difference from MySQL however, is that changing the SQL mode in a user's session has no effect ( #5397 ). This means that some applications will break as they attempt to set the sql-mode to something non-strict and then create tables. I am uneasy about both scenarios (differing defaults from MySQL, and breaking compatibility with packaged applications). What we could potentially do is revert back to a less strict sql-mode for now (move the Suggestions welcome. |
Signed-off-by: Morgan Tocker <tocker@gmail.com>
|
I'm also curious if an 8.0 config is going to be sufficient since they're adding a lot of functionality in patch releases. @msolters just found that MySQL 8.0.18 doesn't work, though I'm not sure if he root caused it |
|
I think I'm also a little confused as to the purpose of these config files. Are we trying to be opinionated and try to force users to run MySQL the "correct" way or are we trying to make as few assumptions as possible and only setting what Vitess absolutely need to run? I feel like we're somewhere in the middle of those two now. |
I would say we are closer to having no opinions/deferring opinions to upstream. That is the plan I intend to state in the docs vitessio/website#337 There are exceptions to that which are hard requirements (binary logging, gtids, utf8). The non-compulsory areas are mostly pre-existing: The rest is just (a) turning on a setting that becomes the default in a later MySQL release or (b) a re-organization to make sure that we don't set any setting twice, or set a setting to the default value for a version. Thus; every line should be doing something. w.r.t. (a) You can see that certain settings disappear as MySQL defaults get better, such as 5.7 removing |
In the case that Vitess has fewer opinions about configuration, it is more likely to succeed with future unknown unknowns. But I'm curious what the breakage was all the same :-) |
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Signed-off-by: Morgan Tocker <tocker@gmail.com>
e35f39f to
dfb3fe8
Compare
Signed-off-by: Morgan Tocker <tocker@gmail.com>
b8cc55f to
0d81e2b
Compare
Signed-off-by: Morgan Tocker <tocker@gmail.com>
0d81e2b to
bad5d16
Compare
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Eliminate that it isn't transient state causing it to fail. Signed-off-by: Morgan Tocker <tocker@gmail.com>
59c9ee0 to
c398a7d
Compare
|
There is one test failing. The test basically wants to test if the retry vars are getting correctly exported if vtworker finds that mysql is down. However, the new changes have caused the worker to finish the job too quickly, before mysql is shutdown. So, the test fails because those retry vars don't get set. I don't think this is a critical test. And, we're going to deprecate this. So, I'm ok to just delete the test, unless you can find an easy to slow down the worker enough to make it pass. |
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Merge in MariaDB 10.4 and use new config layout. Signed-off-by: Morgan Tocker <tocker@gmail.com>
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Fix regression introduced by #5326
Signed-off-by: Morgan Tocker <tocker@gmail.com>
Fixes #4990
Fixes #3866
Fixes #5358
I recommend that we merge this after branching Vitess 4.0, since config files can break things.
This still requires SBR + only STRICT_TRANS_TABLES - two things I was hoping to eliminate, but are required for now so the test suite can pass.
Improvements:
binlog-format=STATEMENT, only to find there was another place it was set!utf8mb4because it is faster. The sort buffer allocates differently through versions.)I have added myself as a
CODEOWNERfor the MySQL configuration files andmysqlctl/mysqld.go.Important notes: This moves the worker test to shard 5. Which means it is no longer tested by CI. See comment by Sugu that this is deprecated.
Signed-off-by: Morgan Tocker tocker@gmail.com