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:
parent
6810cdae1b
commit
04e114aec0
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user