mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
59 lines
1.6 KiB
Plaintext
59 lines
1.6 KiB
Plaintext
# ==== Purpose ====
|
|
#
|
|
# Test verifies that when "Master_Delay" is specified on slave with GTIDS there
|
|
# will not be any extra delay initially.
|
|
#
|
|
# ==== Implementation ====
|
|
#
|
|
# Steps:
|
|
# 0 - Stop the slave and execute CHANGE MASTER command with
|
|
# master_delay= 10
|
|
# 1 - On slave introduce a sleep of 15 seconds and check that the
|
|
# Seconds_Behind_Master is within specified master_delay limit. It should
|
|
# not be more that "10" seconds.
|
|
#
|
|
# ==== References ====
|
|
#
|
|
# MDEV-13895: GTID and Master_Delay causes excessive initial delay
|
|
|
|
--source include/have_binlog_format_mixed.inc
|
|
--source include/master-slave.inc
|
|
|
|
CREATE TABLE t1 (i INT);
|
|
--sync_slave_with_master
|
|
|
|
--source include/stop_slave.inc
|
|
CHANGE MASTER TO MASTER_DELAY= 10;
|
|
--source include/start_slave.inc
|
|
|
|
--connection master
|
|
INSERT INTO t1 VALUES (1);
|
|
--source include/sync_slave_io_with_master.inc
|
|
|
|
--connection slave
|
|
--let $actual_delay= query_get_value(SHOW SLAVE STATUS, SQL_Delay, 1)
|
|
--let $sleep_time= `SELECT 5 + $actual_delay`
|
|
--echo "Sleeping for $sleep_time"
|
|
--sleep $sleep_time
|
|
|
|
--let $assert_cond= [SHOW SLAVE STATUS, Seconds_Behind_Master, 1] <= 10
|
|
--let $assert_text= Seconds_Behind_Master should be less than MASTER_DELAY
|
|
--source include/rpl_assert.inc
|
|
|
|
# The row should be available in table after master_delay=20 seconds.
|
|
--let $assert_text= One row should be found in table t1.
|
|
--let $assert_cond= COUNT(*) = 1 FROM t1
|
|
--source include/rpl_assert.inc
|
|
|
|
--echo "======= Clean up ========"
|
|
STOP SLAVE;
|
|
CHANGE MASTER TO MASTER_DELAY=0;
|
|
START SLAVE;
|
|
|
|
--connection master
|
|
DROP TABLE t1;
|
|
--sync_slave_with_master
|
|
|
|
--connection master
|
|
--source include/rpl_end.inc
|