Support separate UNDO tablespaces in MySQL 5.6
InnoDB in MySQL 5.6 allows storing UNDO logs in separate tablespace(s): https:/
XtraBackup should support the corresponding options and copying/restoring those tablespaces.
Blueprint information
- Status:
- Complete
- Approver:
- Alexey Kopytov
- Priority:
- High
- Drafter:
- Alexey Kopytov
- Direction:
- Approved
- Assignee:
- Alexey Kopytov
- Definition:
- Approved
- Series goal:
- Accepted for 2.0
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Alexey Kopytov
- Completed by
- Alexey Kopytov
Whiteboard
In order to backup separate undo tablespaces they must be added in the
fil_system list of tablespaces on the backup stage. This is
implemented in srv_undo_
modifications for XtraBackup. It needs another argument to check if it
can read the number of currently used undo tablespaces from the trx
header. We can't do that on the backup stage, so we just do what
srv_undo_
i.e. just assume the number of available undo tablespaces is the
number of used tablespaces.
We also have to restore undo tablespaces on --copy-back (unlike
e.g. separate doublewrite tablespace in PS). The reasons are that:
1) the server would refuse to start if the number of available undo
tablespaces is less than the number of configured ones.
2) we can prepare the backup with --redo-only (i.e. let the server
rollback uncommitted transactions)
Work Items
Dependency tree
* Blueprints in grey have been implemented.