Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
Description
Hi,
We need a section about upgrading/downgrading from/to MariaDB 10.2 and 10.3.
On upgrading, both 10.2 and 10.3 create a new version of the redo log. This makes it impossible to binary downgrade. The process to downgrade is:
- SET GLOBAL innodb_purge_rseg_truncate_frequency = 1;SET GLOBAL innodb_fast_shutdown=0; if downgrading from 10.3. We need to empty the undo log, because 10.3 introduces new undo log record types. Beware of
MDEV-11802andMDEV-13603; this will not always empty the undo logs! - Shut down the server cleanly (no crash)
- Remove the redo logs: ib_logfile* (not needed when downgrading to 10.2 after
MDEV-14909) - Downgrade
Downgrading from 10.1 to 10.0 should work unless you use new 10.1 features (encryption, custom tablespaces).
When downgrading from 10.2, modifying the tables, and upgrading back to 10.2 or later, the MDEV-6076 persistent AUTO_INCREMENT counters may cause surprises, because they would not be updated by the old version.
Downgrading from 10.3 to 10.2 should work. What happens when trying to access SEQUENCE objects should be tested and documented (or bug filed if it would crash). If MDEV-11369 instant ADD COLUMN has been used, those tables will be unaccessible by earlier versions of MariaDB, but should not cause a crash in 10.2, hopefully also not in earlier versions.
Attachments
Issue Links
- blocks
-
MDEV-14130 InnoDB messages should not refer to the MySQL 5.7 manual
-
- Closed
-
- is blocked by
-
MDEV-14909 MariaDB 10.2 refuses to start up after clean shutdown of MariaDB 10.3
-
- Closed
-
elenst and wlad have convincingly argued that we cannot really support downgrading, except in some special cases. At best, it is a ‘best effort’ that we are not testing. While I am fairly confident that a downgrade 10.3→10.2→10.1 should work as far as InnoDB is concerned, we do not test it, and thus we cannot really guarantee it. Furthermore, I cannot speak for other components of the server; for example, I have no idea how hard it would be to undo any changes made by any upgrade scripts.
Upgrades should considered a ‘point of no return’. That is, upgrades should be planned and prepared in such a way that downgrading should never be needed.
Note that even a downgrade by replaying a logical dump from the upgraded server may fail due to changes in the logical dump format, even if no new features were taken into use.