[MDEV-13561] Mariabackup is incompatible with retroactively created innodb_undo_tablespaces Created: 2017-08-17  Updated: 2018-09-19  Resolved: 2018-03-22

Status: Closed
Project: MariaDB Server
Component/s: Backup, Storage Engine - InnoDB
Affects Version/s: 10.1.24, 10.2.7, 10.3.1
Fix Version/s: 10.1.32, 10.2.14, 10.3.6

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Thirunarayanan Balathandayuthapani
Resolution: Fixed Votes: 0
Labels: backup, compat56

Issue Links:
Problem/Incident
causes MDEV-15988 Crash in ./mtr mariabackup.undo_space_id Closed
causes MDEV-17236 mariabackup incorrectly tries to open... Closed
Relates
relates to MDEV-12988 backup fails if innodb_undo_tablespac... Closed
Sprint: 10.1.32

 Description   

Mariabackup is incompatible with the MySQL 5.6.36 change
Bug #25551311 BACKPORT BUG #23517560 REMOVE SPACE_ID RESTRICTION FOR UNDO TABLESPACES
that was merged to MariaDB 10.0.31, 10.1.24, 10.2.7, 10.3.1.

With this change, it is possible to let InnoDB create undo tablespaces in a previously created instance. In this way, the undo tablespace IDs will not necessarily start from 1.

To fix this, Mariabackup should initialize the variable srv_undo_space_id_start in both backup and prepare, and it should use the value in all formulas. For example, the macro definition of fil_is_user_tablespace_id() is incorrect.

Perhaps Mariabackup should read the first page of the undo001 file and determine the first undo tablespace ID from there.



 Comments   
Comment by Marko Mäkelä [ 2018-03-21 ]

OK to push.

Generated at Thu Feb 08 08:06:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.