MDEV-29115 mariabackup.mdev-14447 started failing in a new way

The test mariabackup.mdev-14447 is inserting relatively much
data while concurrently backing up the data. The test often fails
on CI systems, possibly due to an inherent race condition between
the producer (server) and consumer (backup) that would be solved
if the backup was being produced by the server (MDEV-14992).

The written data volume was increased somewhat by
commit 4179f93d28 (MDEV-18976).
Let us trim the log volume by not writing PAGE_CHECKSUM records
or row-level undo log records, and make the test cover what was
intended to cover by creating the table in the system tablespace.
This commit is contained in:
Marko Mäkelä 2022-08-04 09:30:53 +03:00
parent c1ea55ddb0
commit 558f1eff64
3 changed files with 11 additions and 3 deletions

View file

@ -1,6 +1,8 @@
call mtr.add_suppression("InnoDB: New log files created");
SET GLOBAL innodb_file_per_table=0;
CREATE TABLE t(a varchar(40) PRIMARY KEY, b varchar(40), c varchar(40), d varchar(40), index(b,c,d)) ENGINE INNODB;
# Create full backup , modify table, then create incremental/differential backup
SET debug_dbug='+d,skip_page_checksum',foreign_key_checks=0,unique_checks=0;
BEGIN;
INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
COMMIT;

View file

@ -6,6 +6,7 @@ call mtr.add_suppression("InnoDB: New log files created");
let $basedir=$MYSQLTEST_VARDIR/tmp/backup;
let $incremental_dir=$MYSQLTEST_VARDIR/tmp/backup_inc1;
SET GLOBAL innodb_file_per_table=0;
CREATE TABLE t(a varchar(40) PRIMARY KEY, b varchar(40), c varchar(40), d varchar(40), index(b,c,d)) ENGINE INNODB;
echo # Create full backup , modify table, then create incremental/differential backup;
@ -13,6 +14,7 @@ echo # Create full backup , modify table, then create incremental/differential b
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir;
--enable_result_log
SET debug_dbug='+d,skip_page_checksum',foreign_key_checks=0,unique_checks=0;
BEGIN;
INSERT INTO t select uuid(), uuid(), uuid(), uuid() from seq_1_to_100000;
COMMIT;

View file

@ -1129,10 +1129,14 @@ std::pair<lsn_t,mtr_t::page_flush_ahead> mtr_t::do_write()
ulint len = m_log.size();
ut_ad(len > 0);
#ifdef UNIV_DEBUG
#ifndef DBUG_OFF
if (m_log_mode == MTR_LOG_ALL) {
m_memo.for_each_block(CIterate<WriteOPT_PAGE_CHECKSUM>(*this));
len = m_log.size();
do {
DBUG_EXECUTE_IF("skip_page_checksum", continue;);
m_memo.for_each_block(CIterate<WriteOPT_PAGE_CHECKSUM>
(*this));
len = m_log.size();
} while (0);
}
#endif