--source include/have_innodb.inc --source include/have_debug.inc --source include/not_embedded.inc --source include/no_valgrind_without_big.inc call mtr.add_suppression("InnoDB: Expected tablespace id .*"); --echo # Mariabackup --backup with page0 INIT_PAGE redo record --echo # and there is no FILE_CREATE for the tablespace t1 SET @save_dbug = @@SESSION.debug_dbug; SET DEBUG_DBUG="+d,checkpoint_after_file_create"; CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB; INSERT INTO t1 VALUES(1); echo # xtrabackup backup; let $targetdir=$MYSQLTEST_VARDIR/tmp/backup; --disable_result_log exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir; --enable_result_log echo # xtrabackup prepare; --disable_result_log exec $XTRABACKUP --prepare --target-dir=$targetdir; -- source include/restart_and_restore.inc --enable_result_log SELECT * FROM t1; DROP TABLE t1; rmdir $targetdir; SET @@SESSION.DEBUG_DBUG= @save_debug; --echo # Mariabackup fails after corrupting the page0 in disk --echo # and there is no INIT_PAGE for page0 CREATE TABLE t1(c INT) ENGINE=INNODB; let MYSQLD_DATADIR=`select @@datadir`; let INNODB_PAGE_SIZE=`select @@innodb_page_size`; --source include/shutdown_mysqld.inc --echo # Corrupt the table perl; my $ps = $ENV{INNODB_PAGE_SIZE}; my $file = "$ENV{MYSQLD_DATADIR}/test/t1.ibd"; open(FILE, "+<$file") || die "Unable to open $file"; binmode FILE; seek (FILE, 0, SEEK_SET) or die "seek"; print FILE chr(0x00) x $ps; close FILE or die "close"; EOF --source include/start_mysqld.inc echo # xtrabackup backup; let $targetdir=$MYSQLTEST_VARDIR/tmp/backup; let $backuplog=$MYSQLTEST_VARDIR/tmp/backup.log; --disable_result_log --error 1 exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --core-file > $backuplog; --enable_result_log --let SEARCH_PATTERN=Header page consists of zero bytes* --let SEARCH_FILE=$backuplog --source include/search_pattern_in_file.inc UNLOCK TABLES; DROP TABLE t1; rmdir $targetdir; remove_file $backuplog;