1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-11 13:21:44 +03:00
mariadb/mysql-test/suite/rpl/t/rpl_start_alter_chain_basic.test
Andrei 387bdb2a2e MDEV-29934 rpl.rpl_start_alter_chain_basic, rpl.rpl_start_alter_restart_slave sometimes fail in BB with result content mismatch
rpl.rpl_start_alter_chain_basic was used to fail sporadically due
to a missed GTID master-slave synchronization which was necessary
because of the following SELECT from GTID-state table.

Fixed with arranging two synchronization pieces for two
chain slaves requiring that.

Note rpl.rpl_start_alter_restart_slave must have been fixed by
MDEV-30460 and 87e13722a95a (manual) merge commit.
2024-06-19 14:09:00 +03:00

60 lines
1.9 KiB
Plaintext

#
# MENT-662 Lag Free alter for slave
# In this we will see if chain replication works as
# M->S(Legacy)->S(Parallel)->S(Legacy, without log-slave-upadates)
#
--source include/have_innodb.inc
--let $rpl_topology=1->2->3->4
--source include/rpl_init.inc
--connection server_3
--let $gtid_strict_mode= `select @@gtid_strict_mode`
--let $slave_parallel_threads= `select @@slave_parallel_threads`
--let $slave_parallel_mode= `select @@slave_parallel_mode`
set global gtid_strict_mode=1;
--source include/stop_slave.inc
SET GLOBAL slave_parallel_threads=10;
set global slave_parallel_mode=optimistic;
change master to master_use_gtid=slave_pos;
--source include/start_slave.inc
--connection server_1
--let $binlog_alter_two_phase= `select @@binlog_alter_two_phase`
set global binlog_alter_two_phase=ON;
set binlog_alter_two_phase=ON;
--let $engine=innodb
--let $sync_slave= 1
connect(master_node,127.0.0.1,root,,$db_name, $SERVER_MYPORT_1);
connect(slave_node,127.0.0.1,root,,test, $SERVER_MYPORT_2);
--source include/start_alter_basic.inc
--disconnect master_node
--disconnect slave_node
--connection server_1
--eval set global binlog_alter_two_phase=$binlog_alter_two_phase
--source include/rpl_sync.inc
--connection server_2
select domain_id, seq_no from mysql.gtid_slave_pos order by seq_no desc limit 1;
--connection server_1
--source include/save_master_gtid.inc
--connection server_3
--source include/sync_with_master_gtid.inc
select domain_id, seq_no from mysql.gtid_slave_pos order by seq_no desc limit 1;
--source include/stop_slave.inc
--eval set global slave_parallel_threads = $slave_parallel_threads;
--eval set global slave_parallel_mode = $slave_parallel_mode;
--eval set global gtid_strict_mode = $gtid_strict_mode;
--source include/start_slave.inc
select @@slave_parallel_threads;
--connection server_4
--source include/sync_with_master_gtid.inc
select domain_id, seq_no from mysql.gtid_slave_pos order by seq_no desc limit 1;
--source include/rpl_end.inc