Fix sporadic failure of rpl.parallel_backup_xa_debug

The test case set debug_sync=RESET without waiting for the server thread to
receive the prior signal. This can cause the signal to be lost, the thread to
not wake up, and thus the test to time out.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
This commit is contained in:
Kristian Nielsen 2025-03-13 18:58:12 +01:00
parent 6810cdae1b
commit 04e114aec0
2 changed files with 6 additions and 2 deletions

View File

@ -4,6 +4,7 @@ connection master;
CREATE TABLE t (a INT) ENGINE = innodb;
connection slave;
include/stop_slave.inc
SET STATEMENT sql_log_bin= 0 FOR ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
SET @old_parallel_threads= @@GLOBAL.slave_parallel_threads;
SET @old_parallel_mode = @@GLOBAL.slave_parallel_mode;
SET @@global.slave_parallel_threads= 2;
@ -19,6 +20,7 @@ xa prepare 'x';
connection slave;
SET @@global.debug_dbug="+d,hold_worker_on_schedule";
start slave;
SET debug_sync = 'now WAIT_FOR reached_pause';
connection slave1;
backup stage start;
backup stage block_commit;

View File

@ -11,6 +11,7 @@ CREATE TABLE t (a INT) ENGINE = innodb;
--sync_slave_with_master
--source include/stop_slave.inc
SET STATEMENT sql_log_bin= 0 FOR ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
SET @old_parallel_threads= @@GLOBAL.slave_parallel_threads;
SET @old_parallel_mode = @@GLOBAL.slave_parallel_mode;
SET @@global.slave_parallel_threads= 2;
@ -28,20 +29,21 @@ xa prepare 'x';
--connection slave
SET @@global.debug_dbug="+d,hold_worker_on_schedule";
start slave;
SET debug_sync = 'now WAIT_FOR reached_pause';
--let $wait_condition= SELECT count(*) = 1 FROM information_schema.processlist WHERE state LIKE "Waiting for prior transaction to commit"
--source include/wait_condition.inc
--connection slave1
backup stage start;
--send backup stage block_commit
backup stage block_commit;
--connection slave
--let $wait_condition= SELECT count(*) = 1 FROM information_schema.processlist WHERE state LIKE "Waiting for backup lock"
SET debug_sync = 'now SIGNAL continue_worker';
--source include/wait_condition.inc
SET debug_sync = RESET;
--connection slave1
reap;
backup stage end;
--connection master