mirror of
https://github.com/MariaDB/server.git
synced 2025-04-22 23:25:37 +02:00

At the start of mariadb-backup --backup, trigger a flush of the InnoDB buffer pool, so that as little log as possible will have to be copied. The previously debug-build-only interface SET GLOBAL innodb_log_checkpoint_now=ON; will be made available on all builds, and mariadb-backup --backup will invoke it, unless the option --skip-innodb-log-checkpoint-now is specified. Reviewed by: Vladislav Vaintroub
70 lines
2.3 KiB
Text
70 lines
2.3 KiB
Text
--source include/innodb_page_size.inc
|
|
|
|
CREATE TABLE t(i INT) ENGINE INNODB;
|
|
INSERT INTO t VALUES(1);
|
|
SET GLOBAL innodb_max_purge_lag_wait=0;
|
|
echo # xtrabackup backup;
|
|
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
|
|
--let $backup_log=$MYSQLTEST_VARDIR/tmp/backup.log
|
|
|
|
--disable_result_log
|
|
--error 1
|
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --parallel=10 --innodb-log-write-ahead-size=4095 > $backup_log 2>&1;
|
|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir --parallel=10 --innodb-log-write-ahead-size=10000 > $backup_log 2>&1;
|
|
--enable_result_log
|
|
|
|
# The following warning must not appear after MDEV-27343 fix
|
|
--let SEARCH_PATTERN=InnoDB: Allocated tablespace ID
|
|
--let SEARCH_FILE=$backup_log
|
|
--source include/search_pattern_in_file.inc
|
|
--remove_file $backup_log
|
|
|
|
SELECT variable_value FROM information_schema.global_status
|
|
WHERE variable_name = 'INNODB_BUFFER_POOL_PAGES_DIRTY';
|
|
INSERT INTO t VALUES(2);
|
|
|
|
|
|
echo # xtrabackup prepare;
|
|
--disable_result_log
|
|
exec $XTRABACKUP --prepare --target-dir=$targetdir;
|
|
-- source include/restart_and_restore.inc
|
|
--enable_result_log
|
|
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
rmdir $targetdir;
|
|
|
|
--echo #
|
|
--echo # MDEV-27121 mariabackup incompatible with disabled dedicated
|
|
--echo # undo log tablespaces
|
|
--echo #
|
|
call mtr.add_suppression("InnoDB: innodb_undo_tablespaces=0 disables dedicated undo log tablespaces");
|
|
call mtr.add_suppression("InnoDB: Cannot change innodb_undo_tablespaces=0 because previous shutdown was not with innodb_fast_shutdown=0");
|
|
call mtr.add_suppression("Found 1 prepared XA transactions");
|
|
|
|
CREATE TABLE t(f1 INT NOT NULL)ENGINE=InnoDB;
|
|
XA START 'zombie';
|
|
INSERT INTO t VALUES(1);
|
|
XA END 'zombie';
|
|
XA PREPARE 'zombie';
|
|
|
|
let $restart_parameters=--innodb_undo_tablespaces=0;
|
|
--source include/restart_mysqld.inc
|
|
|
|
echo # xtrabackup 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
|
|
|
|
--echo # Display undo log files from target directory
|
|
list_files $targetdir undo*;
|
|
|
|
XA COMMIT 'zombie';
|
|
DROP TABLE t;
|
|
rmdir $targetdir;
|