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

Add major version upgrade testing from previous versions to mysql_upgrade.test #3503

Open
wants to merge 1 commit into
base: 11.4
Choose a base branch
from

Conversation

anson1014
Copy link
Contributor

Description

Add major version upgrade testing from previous versions to mysql_upgrade.test

Previously, only upgrades from 10.0-10.4 dumps were included in the mysql_upgrade.test file. Include dumps from versions 10.5-11.3 as 11.4 is the current LTS and upgrades from more recent versions are arguably more common/important and have a clear need to continually be validated via this MTR.

For the new versions added (10.5,10.6,10.11,11.1,11.2,11.3), they are either prior LTS versions or their difference in schemas is not insignificant and therefore is valuable to be included for test coverage. Certain intermediate versions are omitted in the interest of avoiding bloating the size of the git repository. For versions 10.7,10.8,10.9 and 10.10, the difference in their schemas in comparison to 10.11 are extremely minimal if present at all. Therefore, the inclusion of these dumps are redundant. Testing of these versions will not provide significant additional marginal value. For these same reasons, 11.0 is also not included as there is no major difference between it and 11.1.

As done previously in f67522e, these dumps were generated with an empty root password as to avoid using unix_socket. Furthermore, locks on the log tables were also omitted. Both of these changes were done in order to prevent errors failing the upgrade during the MTR. Help tables are also omitted from the dump file as they do not affect the upgrade and more importantly, for the sake of minimizing the size of the file.

This PR merely fills the apparent gaps of using the existing functionality of loading a dump from a different version of MariaDB to ensure that an upgrade completes successfully.

Suggestions on ways to further extend, improve or augment major version upgrade testing would also be appreciated.

Release Notes

N/A

How can this PR be tested?

Only changes are to mysql_upgrade.test, which passes successfully.

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[01] Using MTR_BUILD_THREAD 300, with reserved ports 19000..19029
worker[01] mysql-test-run: WARNING: running this script as _root_ will cause some tests to be skipped
main.mysql_upgrade                       [ pass ]  52384
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 52.384 of 58 seconds executing testcases

Completed: All 1 tests were successful.

Basing the PR against the correct MariaDB version

  • This is a change in testing that is targeted towards the current MariaDB LTS.

PR quality check

  • I checked the CODING_STANDARDS.md file and my PR conforms to this where appropriate.
  • For any trivial modifications to the PR, I am ok with the reviewer making the changes themselves.

All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.

…rade.test

Previously, only upgrades from 10.0-10.4 dumps were included in the
mysql_upgrade.test file. Include dumps from versions 10.5-11.3 as 11.4
is the current LTS and upgrades from more recent versions are
arguably more common/important and have a clear need to continually
be validated via this MTR.

For the new versions added (10.5,10.6,10.11,11.1,11.2,11.3), they
are either prior LTS versions or their difference in schemas is not
insignificant and therefore is valuable to be included for test coverage.

Certain intermediate versions are omitted in the interest of avoiding
bloating the size of the git repository.

For versions 10.7,10.8,10.9 and 10.10, the difference in their schemas
in comparison to 10.11 are extremely minimal if present at all.
Therefore, the inclusion of these dumps are redundant. Testing of these
versions will not provide significant additional marginal value.
For these same reasons, 11.0 is also not included as there is no major
difference between it and 11.1.

As done previously in f67522e, these dumps were generated
with an empty root password as to avoid using unix_socket. Furthermore,
locks on the log tables were also omitted. Both of these changes were
done in order to prevent errors failing the upgrade during the MTR.

Help tables are also omitted from the dump file as they do not affect
the upgrade and more importantly, for the sake of minimizing the size
of the file.

All new code of the whole pull request, including one or several files
that are either new files or modified ones, are contributed under the
BSD-new license. I am contributing on behalf of my employer
Amazon Web Services, Inc.
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@LinuxJedi
Copy link
Contributor

The 11.3 one is nearly 3x larger than the rest. It is difficult to review on GitHub, so is there any insight into why?

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.

3 participants