mirror of
https://github.com/MariaDB/server.git
synced 2025-05-10 15:59:53 +02:00

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>
44 lines
1.2 KiB
Text
44 lines
1.2 KiB
Text
include/master-slave.inc
|
|
[connection master]
|
|
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;
|
|
SET @@global.slave_parallel_mode = 'optimistic';
|
|
connection master;
|
|
# MDEV-35110
|
|
SET @@gtid_seq_no=100;
|
|
insert into t set a=1;
|
|
xa start 'x';
|
|
insert into t set a=2;
|
|
xa end 'x';
|
|
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;
|
|
connection slave;
|
|
SET debug_sync = 'now SIGNAL continue_worker';
|
|
SET debug_sync = RESET;
|
|
connection slave1;
|
|
backup stage end;
|
|
connection master;
|
|
xa rollback 'x';
|
|
connection slave;
|
|
# Clean up.
|
|
connection slave;
|
|
include/stop_slave.inc
|
|
SET @@global.debug_dbug="";
|
|
SET @@global.slave_parallel_threads= @old_parallel_threads;
|
|
SET @@global.slave_parallel_mode = @old_parallel_mode;
|
|
include/start_slave.inc
|
|
connection server_1;
|
|
DROP TABLE t;
|
|
include/rpl_end.inc
|