I think that we should test upgrade as follows:
MySQL 5.5 to MariaDB 10.0, 10.1, 10.2
(I think MySQL 5.5 does not yet support innodb_page_size or innodb_undo_tablespaces)
Starting with the following, run the upgrade tests with all the options:
for innodb_page_size in 16k 8k 4k;
|
do
|
for innodb_undo_tablespaces in 0 3;
|
for shutdown_by in kill shutdown;
|
do
|
do
|
# [create the old database, run some SQL, shutdown]
|
# [upgrade, run some SQL, $shutdown_by the server]
|
done
|
done
|
done
|
MySQL 5.6 to MariaDB 10.0, 10.1, 10.2
MariaDB 10.0 to MariaDB 10.1, 10.2
With the following, add InnoDB page compression to the above combinations:
MariaDB 10.1 to MariaDB 10.2
With the following, add innodb_page_size 32k and 64k to the above combinations. Also do some extra SQL which should not cause a crash, but access to the table should be prohibited (or maybe the server startup should be prevented):
CREATE TABLESPACE t ADD DATAFILE 't.ibd';
|
CREATE TABLE t(a INT)ENGINE=InnoDB TABLESPACE t;
|
MySQL 5.7 to MariaDB 10.2
Not all combinations are supposed to work. For example, upgrade after a crash to 10.2 is not supposed to work (it is prevented by WL#8845 redo log format tag). So, the tests of upgrade to MariaDB 10.2 are only expected to work after a shutdown. For any failures, bugs should be filed and addressed (either in the code or documentation).
In a similar framework, we could also do some downgrade testing if we intend to support that.