diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2023-03-29 15:16:42 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2023-03-29 15:16:42 +0300 |
commit | dd2fe81122224c07a65e89b409dc28d70802fe99 (patch) | |
tree | b3737b6d5a89e34fa30aea32843a8a78704e4b23 /mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test | |
parent | e4b83f0febbd24b04687d4814871c758cbede111 (diff) | |
parent | 0760ad3336521b85454b522390eb972a606def23 (diff) | |
download | mariadb-git-dd2fe81122224c07a65e89b409dc28d70802fe99.tar.gz |
Merge 10.6 into 10.8
Diffstat (limited to 'mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test')
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test | 68 |
1 files changed, 67 insertions, 1 deletions
diff --git a/mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test b/mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test index e2a41d0db7e..41f372eddf8 100644 --- a/mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test +++ b/mysql-test/suite/rpl/t/rpl_parallel_free_deferred_event.test @@ -1 +1,67 @@ ---source include/rpl_parallel_free_deferred_event.inc +--echo *** MDEV-5788 Incorrect free of rgi->deferred_events in parallel replication *** + +--source include/have_innodb.inc +--source include/master-slave.inc + +--connection server_2 +--source include/stop_slave.inc +CHANGE MASTER TO master_use_gtid=slave_pos; +--source include/start_slave.inc + +--connection server_1 +ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB; +CREATE TABLE t3 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB; +--save_master_pos + +--connection server_2 +--sync_with_master +SET @old_parallel_threads=@@GLOBAL.slave_parallel_threads; +# Use just two worker threads, so we are sure to get the rpl_group_info added +# to the free list, which is what triggered the bug. +--source include/stop_slave.inc +SET GLOBAL replicate_ignore_table="test.t3"; +SET GLOBAL slave_parallel_threads=2; +--source include/start_slave.inc + +--connection server_1 +INSERT INTO t3 VALUES (100, rand()); +INSERT INTO t3 VALUES (101, rand()); +--save_master_pos + +--connection server_2 +--sync_with_master + +--connection server_1 +INSERT INTO t3 VALUES (102, rand()); +INSERT INTO t3 VALUES (103, rand()); +INSERT INTO t3 VALUES (104, rand()); +INSERT INTO t3 VALUES (105, rand()); +--save_master_pos + +--connection server_2 +--sync_with_master +--source include/stop_slave.inc +SET GLOBAL replicate_ignore_table=""; +--source include/start_slave.inc + +--connection server_1 +INSERT INTO t3 VALUES (106, rand()); +INSERT INTO t3 VALUES (107, rand()); +--save_master_pos + +--connection server_2 +--sync_with_master +--replace_column 2 # +SELECT * FROM t3 WHERE a >= 100 ORDER BY a; + + +# Clean up. +--connection server_2 +--source include/stop_slave.inc +SET GLOBAL slave_parallel_threads=@old_parallel_threads; +--source include/start_slave.inc + +--connection server_1 +DROP TABLE t3; + +--source include/rpl_end.inc |