From dd20a43c6cb59a2ba69124cf51e22e08ca16f858 Mon Sep 17 00:00:00 2001 From: Thirunarayanan Balathandayuthapani Date: Fri, 2 Dec 2022 11:54:35 +0530 Subject: MDEV-30114 Incremental prepare fails when innodb_undo_tablespaces > 0 - Mariabackup fails to open the undo tablespaces while applying delta files to the corresponding data file. Mariabackup opens the undo tablespaces first time in srv_undo_tablespaces_init() and does tries to open the undo tablespaces in xtrabackup_apply_deltas() with conflicting mode and leads to the failure. - Mariabackup should close the undo tablespaces before applying the incremental delta files. --- mysql-test/suite/mariabackup/apply-log-only-incr.test | 1 + mysql-test/suite/mariabackup/incremental_backup.test | 1 + mysql-test/suite/mariabackup/incremental_compressed.test | 1 + mysql-test/suite/mariabackup/incremental_ddl_before_backup.test | 1 + mysql-test/suite/mariabackup/incremental_ddl_during_backup.test | 1 + mysql-test/suite/mariabackup/incremental_encrypted.test | 1 + mysql-test/suite/mariabackup/incremental_newdb_while_backup.test | 1 + mysql-test/suite/mariabackup/log_page_corruption.test | 1 + mysql-test/suite/mariabackup/unsupported_redo.test | 1 + mysql-test/suite/mariabackup/xb_partition.test | 1 + 10 files changed, 10 insertions(+) (limited to 'mysql-test/suite/mariabackup') diff --git a/mysql-test/suite/mariabackup/apply-log-only-incr.test b/mysql-test/suite/mariabackup/apply-log-only-incr.test index c2d23c88a3e..b110d12540e 100644 --- a/mysql-test/suite/mariabackup/apply-log-only-incr.test +++ b/mysql-test/suite/mariabackup/apply-log-only-incr.test @@ -1,4 +1,5 @@ --source include/have_innodb.inc +--source include/innodb_undo_tablespaces.inc call mtr.add_suppression("InnoDB: New log files created"); diff --git a/mysql-test/suite/mariabackup/incremental_backup.test b/mysql-test/suite/mariabackup/incremental_backup.test index ddcdae4637a..7f4bdc8bff0 100644 --- a/mysql-test/suite/mariabackup/incremental_backup.test +++ b/mysql-test/suite/mariabackup/incremental_backup.test @@ -1,5 +1,6 @@ --source include/have_aria.inc --source include/innodb_page_size.inc +--source include/innodb_undo_tablespaces.inc # see suite.pm "check for exact values, in case the default changes to be small everywhere" if (`select @@max_binlog_stmt_cache_size = 4294963200 and @@innodb_page_size = 65536`) { diff --git a/mysql-test/suite/mariabackup/incremental_compressed.test b/mysql-test/suite/mariabackup/incremental_compressed.test index 32607d57174..15aff909a43 100644 --- a/mysql-test/suite/mariabackup/incremental_compressed.test +++ b/mysql-test/suite/mariabackup/incremental_compressed.test @@ -1,5 +1,6 @@ --source include/have_innodb.inc --source include/have_partition.inc +--source include/innodb_undo_tablespaces.inc let $basedir=$MYSQLTEST_VARDIR/tmp/backup; let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1; diff --git a/mysql-test/suite/mariabackup/incremental_ddl_before_backup.test b/mysql-test/suite/mariabackup/incremental_ddl_before_backup.test index f243ac1acd9..6d34166d7b5 100644 --- a/mysql-test/suite/mariabackup/incremental_ddl_before_backup.test +++ b/mysql-test/suite/mariabackup/incremental_ddl_before_backup.test @@ -1,4 +1,5 @@ --source include/have_debug.inc +--source include/innodb_undo_tablespaces.inc call mtr.add_suppression("InnoDB: New log files created"); diff --git a/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test b/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test index ebdb2137523..d90ee1566a8 100644 --- a/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test +++ b/mysql-test/suite/mariabackup/incremental_ddl_during_backup.test @@ -1,4 +1,5 @@ --source include/have_debug.inc +--source include/innodb_undo_tablespaces.inc call mtr.add_suppression("InnoDB: New log files created"); diff --git a/mysql-test/suite/mariabackup/incremental_encrypted.test b/mysql-test/suite/mariabackup/incremental_encrypted.test index e618ac4f79e..d5570f20006 100644 --- a/mysql-test/suite/mariabackup/incremental_encrypted.test +++ b/mysql-test/suite/mariabackup/incremental_encrypted.test @@ -1,4 +1,5 @@ --source include/innodb_page_size.inc +--source include/innodb_undo_tablespaces.inc if (!$EXAMPLE_KEY_MANAGEMENT_SO) { diff --git a/mysql-test/suite/mariabackup/incremental_newdb_while_backup.test b/mysql-test/suite/mariabackup/incremental_newdb_while_backup.test index c4695edb845..6bd69712ed7 100644 --- a/mysql-test/suite/mariabackup/incremental_newdb_while_backup.test +++ b/mysql-test/suite/mariabackup/incremental_newdb_while_backup.test @@ -1,5 +1,6 @@ --source include/have_innodb.inc --source include/have_debug.inc +--source include/innodb_undo_tablespaces.inc call mtr.add_suppression("InnoDB: New log files created"); diff --git a/mysql-test/suite/mariabackup/log_page_corruption.test b/mysql-test/suite/mariabackup/log_page_corruption.test index e14735fd024..0bffb406b7e 100644 --- a/mysql-test/suite/mariabackup/log_page_corruption.test +++ b/mysql-test/suite/mariabackup/log_page_corruption.test @@ -1,5 +1,6 @@ --source include/have_debug.inc --source include/no_valgrind_without_big.inc +--source include/innodb_undo_tablespaces.inc --echo ######## --echo # Test for generating "innodb_corrupted_pages" file during full and diff --git a/mysql-test/suite/mariabackup/unsupported_redo.test b/mysql-test/suite/mariabackup/unsupported_redo.test index b9456751b9c..3dd5fd0db47 100644 --- a/mysql-test/suite/mariabackup/unsupported_redo.test +++ b/mysql-test/suite/mariabackup/unsupported_redo.test @@ -1,4 +1,5 @@ --source include/have_innodb.inc +--source include/innodb_undo_tablespaces.inc call mtr.add_suppression("InnoDB: New log files created"); call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation"); call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified"); diff --git a/mysql-test/suite/mariabackup/xb_partition.test b/mysql-test/suite/mariabackup/xb_partition.test index 3d027b67fc1..1c8eeaa19e6 100644 --- a/mysql-test/suite/mariabackup/xb_partition.test +++ b/mysql-test/suite/mariabackup/xb_partition.test @@ -1,5 +1,6 @@ #--source include/innodb_page_size.inc --source include/have_partition.inc +--source include/innodb_undo_tablespaces.inc CREATE TABLE t1(a INT) ENGINE=InnoDB; INSERT INTO t1 VALUES (1), (2), (3); -- cgit v1.2.1