-
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
clarify collations are also supported for db_charset
#16423
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
|
526e87f
to
bc91a8e
Compare
Signed-off-by: Matthias Crauwels <matthias.crauwels@planetscale.com>
bc91a8e
to
0b304bf
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #16423 +/- ##
==========================================
- Coverage 68.63% 68.61% -0.02%
==========================================
Files 1551 1551
Lines 199515 199515
==========================================
- Hits 136938 136907 -31
- Misses 62577 62608 +31 ☔ 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.
Looks fine to me. The endtoend tests need to be fixed, they capture flag help output.
Most likely just vttablet.txt, but the test failure will tell you.
There are 5 binaries which are affected, so the 5 corresponding files need to change under |
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.
🌷
Signed-off-by: Matthias Crauwels <matthias.crauwels@planetscale.com>
@@ -40,7 +40,7 @@ Flags: | |||
--db-credentials-vault-tls-ca string Path to CA PEM for validating Vault server certificate | |||
--db-credentials-vault-tokenfile string Path to file containing Vault auth token; token can also be passed using VAULT_TOKEN environment variable | |||
--db-credentials-vault-ttl duration How long to cache DB credentials from the Vault server (default 30m0s) | |||
--db_charset string Character set used for this tablet. (default "utf8mb4") | |||
--db_charset string Character set/collation used for this tablet. Make sure to configure this to a charset/collation supported by the lowest MySQL version in your environment. (default "utf8mb4") |
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 think we probably want to drop the Make sure
bit since for anyone running MySQL 8 and later (which is the only supported version), the default is fine and doesn't need configuring.
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.
What are you proposing? Drop the entire second sentence? Can you post that as a suggestion so that it is clearer?
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.
@dbussink FWIW, I kept the wording vague not mentioning $oldUnsupportedVersion. Just for the case that oracle would add a newer version of the Unicode character set in a future major upgrade… In that case this would become relevant again… but if the consensus is to remove the sentence, I can do that…
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'd say we can drop the entire second sentence? Maybe something like:
Character set or collation name used by this tablet for the connection to MySQL
Just for the case that oracle would add a newer version of the Unicode character set in a future major upgrade…
I doubt this would happen, but they do have 4 chances to do this 😉. See:
SELECT id, COLLATION_NAME FROM INFORMATION_SCHEMA.COLLATIONS order by id;
...
| 249 | gb18030_bin |
| 250 | gb18030_unicode_520_ci |
| 255 | utf8mb4_0900_ai_ci |
...
Giving this is a one byte field in the MySQL handshake protocol, only 251, 252, 253 & 254 are not used yet. You can't use any of the names with an Id > 255
here anyway because of that limitation.
But I also think that if that time comes, we can further clarify it with the situation that is then current?
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 say let's merge this for now and if and when things change we can revisit.
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Description
This is a documentation change to clarify the ability to configure a specific collation in case your environment runs different MySQL version where different character sets might have different collation, in which case replication might break
Related Issue(s)
Fixed #16422
Checklist
Deployment Notes