Skip to content
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

MySQL 8.0 Migration #20225

Merged
merged 17 commits into from
Jul 22, 2024
Merged

MySQL 8.0 Migration #20225

merged 17 commits into from
Jul 22, 2024

Conversation

dantecatalfamo
Copy link
Member

@dantecatalfamo dantecatalfamo commented Jul 4, 2024

#17249

This PR handles the Engineering portion of the issue to migrate away from MySQL 5.7 towards MySQL 8.0

  • Changes file added for user-visible changes in changes/, orbit/changes/ or ee/fleetd-chrome/changes.
    See Changes files for more information.
  • Manual QA for all new/changed functionality

@dantecatalfamo
Copy link
Member Author

The macos test is failing because I broke the test by fixing a separate bug. That test is fixed here

@dantecatalfamo dantecatalfamo marked this pull request as ready for review July 4, 2024 20:20
@dantecatalfamo dantecatalfamo changed the title Mysql 8.0 MySQL 8.0 Migration Jul 4, 2024
rachaelshaw
rachaelshaw previously approved these changes Jul 4, 2024
@dantecatalfamo
Copy link
Member Author

@rachaelshaw Should I hold off merging this until the website updates are ready as well to keep everything in sync?

Copy link
Member

@roperzh roperzh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

code changes LGTM, it's very, very important to communicate this with the rest of the world after it's merged. Please feel free to ping people to ensure that.

Copy link
Member

@roperzh roperzh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dantecatalfamo spoke too soon. I think we also need to run make dump-test-schema with a MySQL 8 database and commit the result.

I would have expected the "db changes" test to fail too, so there might be more workflows that need updating?

@lukeheath
Copy link
Member

@rfairburn @zayhanlon I want to be extra loud about this change. We are dropping support for MySql 5.7 at Fleet v4.54.0. In October of 2023, MySql 5.7 reached end of life and is no longer receiving security updates. It's very unlikely any of our customers are using it, but we want to make sure any self-hosted customers are aware of this change.

@dantecatalfamo
Copy link
Member Author

dantecatalfamo commented Jul 8, 2024

@dantecatalfamo spoke too soon. I think we also need to run make dump-test-schema with a MySQL 8 database and commit the result.

I would have expected the "db changes" test to fail too, so there might be more workflows that need updating?

@roperzh Done!

@getvictor
Copy link
Member

getvictor commented Jul 8, 2024

It looks like our minimum supported version is now 8.0.36 (based on what we're testing) -- please make sure the patch version is mentioned in our minimum supported versions.

Can we replace 5.7 with 8.4? Or is this too much work and requires a separate eng-initiated story?

@dantecatalfamo
Copy link
Member Author

dantecatalfamo commented Jul 8, 2024

Hi @getvictor

It looks like our minimum supported version is now 8.0.36 -- please make sure the patch version is mentioned in our minimum supported versions.

Can we replace 5.7 with 8.4? Or is this too much work and requires a separate eng-initiated story?

8.0.36 is the newest version supported by Percona at the moment. We can use 8.4 elsewhere but then we won't be consistently using the same version everywhere

Copy link
Member

@mna mna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but because no Go file was changed, the complete CI did not run. @dantecatalfamo Could you make a no-op change to a Go file so that the full test suite is executed? It would be a good test before merging the changes.

lukeheath
lukeheath previously approved these changes Jul 22, 2024
Copy link
Collaborator

@sharon-fdm sharon-fdm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dantecatalfamo dantecatalfamo merged commit 5e1a3d0 into main Jul 22, 2024
26 checks passed
@dantecatalfamo dantecatalfamo deleted the mysql-8.0 branch July 22, 2024 20:27
Copy link

qa-wolf bot commented Jul 23, 2024

E2E tests

Premium No blocking bugs

Ran Status Preview Started Run time Est. dev time saved
64 workflows Done (Details) Visit preview Jul 23, 2024 at 12:14 PM (UTC) 40 minutes ~21.5 hrs
170 workflows Done (Details) Visit preview Jul 23, 2024 at 12:16 PM (UTC) 17 minutes ~53.17 hrs

Latest run

✅ 167 passed


. . . . . . . .

Re-run your E2E tests

@@ -614,7 +614,7 @@ Yes! Please sign up for the [Fleet Cloud Beta](https://kqphpqst851.typeform.com/

### What MySQL versions are supported?

Fleet is tested with MySQL 5.7.21 and 8.0.28. Newer versions of MySQL 5.7 and MySQL 8 typically work well. AWS Aurora requires at least version 2.10.0. Please avoid using MariaDB or other MySQL variants that are not officially supported. Compatibility issues have been identified with MySQL variants, and these may not be addressed in future Fleet releases.
Fleet is tested with MySQL 8.0.36. Newer versions of MySQL 8 typically work well. AWS Aurora requires at least version 2.10.0. Please avoid using MariaDB or other MySQL variants that are not officially supported. Compatibility issues have been identified with MySQL variants, and these may not be addressed in future Fleet releases.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the 8.0 upgrade, Aurora should be spec'd as "version 3" in general, or >= 3.07.0 specifically as that version is the first one with 8.0.36 compat (current version as of writing this is 3.07.1, so you can't go any later than 8.0.36).

Source: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.Updates.30Updates.html

This is another reason for not going past 8.0.36 at the moment.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this @iansltx. I've opened #21130.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.