Skip to content

vtgate advertised mysql server version to 8.0.31#11989

Merged
GuptaManan100 merged 11 commits intovitessio:mainfrom
planetscale:mysql-server-version-8.0.31
Feb 3, 2023
Merged

vtgate advertised mysql server version to 8.0.31#11989
GuptaManan100 merged 11 commits intovitessio:mainfrom
planetscale:mysql-server-version-8.0.31

Conversation

@harshit-gangal
Copy link
Copy Markdown
Member

@harshit-gangal harshit-gangal commented Dec 19, 2022

Description

This PR updates the MySQL server version advertised by VTGate from 5.7.9 to 8.0.31

Related Issue(s)

Checklist

  • "Backport to:" labels have been added if this change should be back-ported
  • Tests were added or are not required
  • Documentation was added or is not required

Deployment Notes

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
@vitess-bot
Copy link
Copy Markdown
Contributor

vitess-bot bot commented Dec 19, 2022

Review Checklist

Hello reviewers! 👋 Please follow this checklist when reviewing this Pull Request.

General

  • Ensure that the Pull Request has a descriptive title.
  • If this is a change that users need to know about, please apply the release notes (needs details) label so that merging is blocked unless the summary release notes document is included.
  • If a test is added or modified, there should be a documentation on top of the test to explain what the expected behavior is what the test does.

If a new flag is being introduced:

  • Is it really necessary to add this flag?
  • Flag names should be clear and intuitive (as far as possible)
  • Help text should be descriptive.
  • Flag names should use dashes (-) as word separators rather than underscores (_).

If a workflow is added or modified:

  • Each item in Jobs should be named in order to mark it as required.
  • If the workflow should be required, the maintainer team should be notified.

Bug fixes

  • There should be at least one unit or end-to-end test.
  • The Pull Request description should include a link to an issue that describes the bug.

Non-trivial changes

  • There should be some code comments as to why things are implemented the way they are.

New/Existing features

  • Should be documented, either by modifying the existing documentation or creating new documentation.
  • New features should have a link to a feature request issue or an RFC that documents the use cases, corner cases and test cases.

Backward compatibility

  • Protobuf changes should be wire-compatible.
  • Changes to _vt tables and RPCs need to be backward compatible.
  • vtctl command output order should be stable and awk-able.
  • RPC changes should be compatible with vitess-operator
  • If a flag is removed, then it should also be removed from VTop, if used there.

@harshit-gangal harshit-gangal added Component: Query Serving Type: Enhancement Logical improvement (somewhere between a bug and feature) labels Dec 19, 2022
@dbussink
Copy link
Copy Markdown
Member

We have another default version number here that we need to change together with this I think:

// MySQLVersion is the version of MySQL that the parser would emulate
var MySQLVersion = "50709" // default version if nothing else is stated

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
@deepthi
Copy link
Copy Markdown
Collaborator

deepthi commented Dec 19, 2022

This should be merged only after #11948 is fixed.

@GuptaManan100
Copy link
Copy Markdown
Contributor

Approving to merge after the pre-requisites are met

@deepthi deepthi added the NeedsWebsiteDocsUpdate What it says label Dec 20, 2022
@deepthi
Copy link
Copy Markdown
Collaborator

deepthi commented Jan 5, 2023

Website location to update: https://vitess.io/docs/16.0/overview/supported-databases/
We currently say

The VTGate proxy server advertises its version as MySQL 5.7.

@deepthi deepthi mentioned this pull request Jan 5, 2023
12 tasks
@harshit-gangal
Copy link
Copy Markdown
Member Author

This should be merged only after #11948 is fixed.

To my understanding, this should not be considered a blocker. Currently, VTGate emits 5.7 and we still release vitess/lite with 8.0.23. what will impact when VTGate emits 8.0.31?

…n-8.0.31

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
@harshit-gangal
Copy link
Copy Markdown
Member Author

Docs PR: vitessio/website#1337

@deepthi
Copy link
Copy Markdown
Collaborator

deepthi commented Jan 6, 2023

To my understanding, this should not be considered a blocker. Currently, VTGate emits 5.7 and we still release vitess/lite with 8.0.23. what will impact when VTGate emits 8.0.31?

This is actually a good point and I'm glad you raised it.
We need to keep the vtgate server version in sync with the default version we ship with vitess/lite. Currently the default vitess/lite image ships with 5.7. We need to make that 8.0 along with making the vtgate version change from 5.7 -> 8.0.
There's no reason why that cannot be done as part of this PR, but it is something we'll need to announce to the community.

As for the minor version mismatch, I don't know that it really matters. In theory, it is possible for frameworks to send queries based on MySQL minor version, and if they do then making vtgate present as 8.0.31 when the backing MySQL is 8.0.23 may be problematic. In practice, I have no idea whether any of the popular frameworks are doing this. So keeping these versions in sync is only a precaution to avoid breaking people who are running with defaults.

@deepthi
Copy link
Copy Markdown
Collaborator

deepthi commented Jan 6, 2023

If you want to make the default image change, all we need to do is change the symlink for docker/lite/Dockerfile.

@harshit-gangal
Copy link
Copy Markdown
Member Author

If you want to make the default image change, all we need to do is change the symlink for docker/lite/Dockerfile.

done

@harshit-gangal
Copy link
Copy Markdown
Member Author

While looking at this in regards to docker image, we pass in the advertised version

/vt/run.sh "8.0.31-vitess"

Docker image changes looks unrelated to the change in the PR. I will revert all the docker image changes made in this PR.

@harshit-gangal harshit-gangal force-pushed the mysql-server-version-8.0.31 branch from bb89f19 to 3962c2f Compare January 19, 2023 17:07
…n-8.0.31

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Andres Taylor <andres@planetscale.com>
@harshit-gangal
Copy link
Copy Markdown
Member Author

blocked for merge. waiting on #12054

@GuptaManan100 GuptaManan100 added the Release Blocker: release-19.0 This item blocks the release on branch release-19.0 label Jan 31, 2023
@GuptaManan100 GuptaManan100 mentioned this pull request Jan 31, 2023
35 tasks
frouioui and others added 2 commits February 2, 2023 20:46
…8.0.31

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Manan Gupta <manan@planetscale.com>
@GuptaManan100 GuptaManan100 merged commit 48d8877 into vitessio:main Feb 3, 2023
@GuptaManan100 GuptaManan100 deleted the mysql-server-version-8.0.31 branch February 3, 2023 05:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Query Serving Release Blocker: release-19.0 This item blocks the release on branch release-19.0 Type: Enhancement Logical improvement (somewhere between a bug and feature)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update vtgate advertised mysql version

7 participants