Corrupted Aria tables on Innobackupex backups
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraBackup moved to https://jira.percona.com/projects/PXB |
Fix Released
|
Low
|
Hrvoje Matijakovic | ||
2.1 |
Invalid
|
Low
|
Unassigned | ||
2.2 |
Fix Released
|
Low
|
Hrvoje Matijakovic | ||
2.3 |
Fix Released
|
Low
|
Hrvoje Matijakovic |
Bug Description
The Aria storage engine is part of MariaDB and has been integrated in it for many years and Aria table files backup support has been added to innobackupex in 2011.
The issue is that the engine uses recovery log files and an "aria_log_control" file that are not backuped by innobackupex.
As stated on the documentation (https:/
It means that the Aria tables from an Innobackupex backup must be "repaired" before being usable (and it be quite long depending on the size of the table) but it is not documented and no warning is throwed on Innobackupex about that.
- A solution would be to launch a "aria_chk --zerofil table" on Aria tables at the "innobackupex --apply-log" on the Aria tables present on the backup.
- Another solution would be to document this behavior on the Innobackupex documentation and throw a message at the end of the innobackupex execution so that users are aware of that limitation.
Verified with MariaDB 10,
mysql> show create table nil_test \G ******* ******* ****** 1. row ******* ******* ******* ******
*******
Table: nil_test
Create Table: CREATE TABLE `nil_test` (
`id` int(11) DEFAULT NULL,
`name` varchar(10) DEFAULT NULL
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
1 row in set (0.00 sec)
nilnandan. joshi@Perconall c-Support: ~/sandboxes/ msb_10_ 0_13/data$ ls -al 013.pid joshi@Perconall c-Support: ~/sandboxes/ msb_10_ 0_13/data$
total 241692
drwx------ 6 nilnandan.joshi admin 4096 Aug 27 11:10 .
drwxr-xr-x 4 nilnandan.joshi admin 4096 Aug 27 11:09 ..
-rw-rw---- 1 nilnandan.joshi admin 68362240 Aug 27 11:13 aria_log.00000001
-rw-rw---- 1 nilnandan.joshi admin 52 Aug 27 11:13 aria_log_control
-rw-rw---- 1 nilnandan.joshi admin 12582912 Aug 27 11:09 ibdata1
-rw-rw---- 1 nilnandan.joshi admin 50331648 Aug 27 11:09 ib_logfile0
-rw-rw---- 1 nilnandan.joshi admin 50331648 Aug 27 11:09 ib_logfile1
-rw-r----- 1 nilnandan.joshi admin 1643 Aug 27 11:09 msandbox.err
-rw-rw---- 1 nilnandan.joshi admin 0 Aug 27 11:09 multi-master.info
drwx------ 2 nilnandan.joshi admin 4096 Aug 27 11:09 mysql
-rw-rw---- 1 nilnandan.joshi admin 6 Aug 27 11:09 mysql_sandbox10
drwx------ 2 nilnandan.joshi admin 96 Aug 27 11:11 nil
drwx------ 2 nilnandan.joshi admin 4096 Aug 27 11:09 performance_schema
drwx------ 2 nilnandan.joshi admin 10 Aug 27 11:09 test
nilnandan.
nilnandan. joshi@Perconall c-Support: ~/sandboxes/ msb_10_ 0_13$ sudo innobackupex --defaults- file=/home/ nilnandan. joshi/sandboxes /msb_10_ 0_13/my. sandbox. cnf --user=root --password=msandbox --socket= /tmp/mysql_ sandbox10013. sock /home/nilnandan .joshi/ backup
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona LLC and/or its affiliates 2009-2013. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
Get the latest version of Percona XtraBackup, documentation, and help resources: www.percona. com/xb/ p
http://
140827 11:49:49 innobackupex: Connecting to MySQL server with DSN 'dbi:mysql: ;mysql_ read_default_ file=/home/ nilnandan. joshi/sandboxes /msb_10_ 0_13/my. sandbox. cnf;mysql_ read_default_ group=xtrabacku p;mysql_ socket= /tmp/mysql_ sandbox10013. sock' as 'root' (using password: YES).
140827 11:49:49 innobackupex: Connected to MySQL server
140827 11:49:49 innobackupex: Executing a version check against the server...
140827 11:49:49 innobackupex: Done.
IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex
prints "completed OK!".
innobackupex: Using mysql server version 10.0.13-MariaDB
innobackupex: Created backup directory /home/nilnandan .joshi/ backup/ 2014-08- 27_11-49- 49
140827 11:49:49 innobackupex: Starting ibbackup with command: xtrabackup --defaults- file="/ home/nilnandan. joshi/sandboxes /msb_10_ 0_13/my. sandbox. cnf" --defaults- group=" mysqld" --backup --suspend-at-end --target- dir=/home/ nilnandan. joshi/backup/ 2014-08- 27_11-49- 49 --tmpdir= /home/nilnandan .joshi/ sandboxes/ msb_10_ 0_13/tmp --extra- lsndir= '/home/ nilnandan. joshi/sandboxes /msb_10_ 0_13/tmp'
innobacku...