Applying logs in partial backup + incremental backups: Failing assertion in InnoDB

Hello,

I want to do incremental backups of a partial backup containing only one of the MySQL’s database. I have the innodb_file_per_table setting enabled.

In [URL=“http://www.percona.com/doc/percona-xtrabackup/1.6/innobackupex/importing_exporting_tables_ibk.html”]http://www.percona.com/doc/percona-x...ables_ibk.html[/URL] is written that to prepare the backup for the restore, you must run:
$ innobackupex --apply-log --export /path/to/backup
I am assuming that this is done after applying the log of all the incremental backups. It is in this first step when I get the failure. I use the following command but I have also tested it without the --redo-only and without both ‘–redo-only’ and --export’.
[INDENT]innobackupex --user root --password 8n8UZIih --apply-log --redo-only --export /tmp/bp/2013-05-27T18-46-15.d/full
[/INDENT]
The full output of the command is:
[INDENT]xtrabackup_55 version 2.1.3 for Percona Server 5.5.16 Linux (i686) (revision id: 608)
xtrabackup: auto-enabling --innodb-file-per-table due to the --export option
xtrabackup: cd to /tmp/bp/2013-05-27T18-46-15.d/2013-05-27_20-46-15
xtrabackup: This target seems to be not prepared yet.
xtrabackup: xtrabackup_logfile detected: size=2359296, start_lsn=(2113775)
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 1
xtrabackup: innodb_log_file_size = -4643641983856541696
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 1
xtrabackup: innodb_log_file_size = -4643641983856541696
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
130510 17:13:09 InnoDB: The InnoDB memory heap is disabled
130510 17:13:09 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130510 17:13:09 InnoDB: Compressed tables use zlib 1.2.3
130510 17:13:09 InnoDB: Initializing buffer pool, size = 100.0M
130510 17:13:09 InnoDB: Completed initialization of buffer pool
130510 17:13:09 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
130510 17:13:09 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files…
130510 17:13:10 InnoDB: Assertion failure in thread 3074922176 in file fsp0fsp.c line 2949
InnoDB: Failing assertion: space != 0
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: [url]http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html[/url]
InnoDB: about forcing recovery.
Aborted
innobackupex: Error:
innobackupex: ibbackup failed at /usr/bin/innobackupex line 389.[/INDENT]

Someone could give me a pointer about this problem?. Regards, Javier

Checking again the proccess I saw that I have forget to enable innodb_file_per_table in the target server (it was enabled only in backed up server). I enabled and try again, I got a different error message. if I retry I got again the assertion error mesage.

The output complains that ‘Error: all log files must be created at the same time.’ Maybe should I use a different commands to prepare the partial + incremental backup?.

The new output:

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Ireland Ltd 2009-2012. All Rights Reserved.

This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
prints “completed OK!”.

130510 17:11:39 innobackupex: Starting ibbackup with command: xtrabackup_55 --defaults-file=“/tmp/bp/2013-05-27T18-46-15.d/2013-05-27_20-46-15/backup-my.cnf” --defaults-group=“mysqld” --prepare --target-dir=/tmp/bp/2013-05-27T18-46-15.d/2013-05-27_20-46-15 --export --apply-log-only --tmpdir=/tmp

xtrabackup_55 version 2.1.3 for Percona Server 5.5.16 Linux (i686) (revision id: 608)
xtrabackup: auto-enabling --innodb-file-per-table due to the --export option
xtrabackup: cd to /tmp/bp/2013-05-27T18-46-15.d/2013-05-27_20-46-15
xtrabackup: This target seems to be not prepared yet.
xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(2113775)
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 1
xtrabackup: innodb_log_file_size = -4632473763217145856
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 1
xtrabackup: innodb_log_file_size = -4632473763217145856
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
130510 17:11:39 InnoDB: The InnoDB memory heap is disabled
130510 17:11:39 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130510 17:11:39 InnoDB: Compressed tables use zlib 1.2.3
130510 17:11:39 InnoDB: Initializing buffer pool, size = 100.0M
130510 17:11:39 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
130510 17:11:39 InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait…
130510 17:11:39 InnoDB: Error: all log files must be created at the same time.
130510 17:11:39 InnoDB: All log files must be created also in database creation.
130510 17:11:39 InnoDB: If you want bigger or smaller log files, shut down the
130510 17:11:39 InnoDB: database and make sure there were no errors in shutdown.
130510 17:11:39 InnoDB: Then delete the existing log files. Edit the .cnf file
130510 17:11:39 InnoDB: and start the database again.
xtrabackup: innodb_init(): Error occured.
innobackupex: Error:
innobackupex: ibbackup failed at /usr/bin/innobackupex line 389.