-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Regression in master: SET transaction_isolation = 'repeatable_read'; #1262
Comments
I encountered this because I use MariaDB 10.5 (not my choice, and I know it's not officially supported by gh-ost). Thought I'd mention that the commit that introduced this change is actually 3f44e043, not the one mentioned by OP (although it's the same line OP saw). For my needs, I edited |
For those trapped on MySQL 5.7, downgrading to gh-ost 1.1.5 works: |
What is the solution to this? Version 1.1.6 is unusable on MariaDB, and 1.1.5 can't convert tables to UTF-8 space, per #1158... |
My solution was to
to:
But that's a pretty lame workaround, though I was able to do the character set migration. Would love to see this addressed, even if it's with a command-line parameter. |
I'm away from the computer so I can't build the code, but I had a look at the diff for that PR and unless I didn't see it, it's not addressing this issue. The problem isn't that the transaction isolation value was wrong or hard coded or something, but that the settings variable name was changed between database server versions. gh-ost is using the new name, and so far the only way to make it use the old name is to patch the file I mentioned in my comment. This is what I said:
If that was addressed, it's not in the mentioned PR. As far as I can get on my mobile GitHub app right now, that file hasn't changed in two years. |
I'll try to have a think about adding a parameter that can specify the name of the setting on request or in config. If I come up with an idea I like, and nobody does it before I do (timeline undetermined), I should submit a PR. It shouldn't be too much work, right? (Famous last words) |
In this PR da35142
GetDBUri()
will execute a statement such as the following:This variable was only introduced in MySQL 5.7.20, so if you are using an earlier version such as what Aurora 5.7 is, it will result in an error:
Instead the statement needs to be
set tx_isolation = 'repeatable-read'
, but this statement is not supported by MySQL 8.0. So some version-specific logic is probably required.The text was updated successfully, but these errors were encountered: