summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2023-03-09 16:16:58 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2023-03-09 16:16:58 +0200
commit08267ba0c88d2f3ba1bacee9bb9a1e4da921a60a (patch)
tree486a8cf5e0f672a33488e63927eb8cc3db9a2fdb /plugin
parent231c0eb7a68570da6b5b3741b2f1431c2f43c475 (diff)
downloadmariadb-git-08267ba0c88d2f3ba1bacee9bb9a1e4da921a60a.tar.gz
MDEV-30819 InnoDB fails to start up after downgrading from MariaDB 11.0
While downgrades are not supported and misguided attempts at it could cause serious corruption especially after commit b07920b634f455c39e3650c6163bec2a8ce0ffe0 it might be useful if InnoDB would start up even after an upgrade to MariaDB Server 11.0 or later had removed the change buffer. innodb_change_buffering_update(): Disallow anything else than innodb_change_buffering=none when the change buffer is corrupted. ibuf_init_at_db_start(): Mention a possible downgrade in the corruption error message. If innodb_change_buffering=none, ignore the error but do not initialize ibuf.index. ibuf_free_excess_pages(), ibuf_contract(), ibuf_merge_space(), ibuf_update_max_tablespace_id(), ibuf_delete_for_discarded_space(), ibuf_print(): Check for !ibuf.index. ibuf_check_bitmap_on_import(): Remove some unnecessary code. This function is only accessing change buffer bitmap pages in a data file that is not attached to the rest of the database. It is not accessing the change buffer tree itself, hence it does not need any additional mutex protection. This has been tested both by starting up MariaDB Server 10.8 on a 11.0 data directory, and by running ./mtr --big-test while ibuf_init_at_db_start() was tweaked to always fail.
Diffstat (limited to 'plugin')
0 files changed, 0 insertions, 0 deletions