1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-7241: rpl.rpl_parallel2 fails sporadically in buildbot

There was a race, a small window between updating slave position and updating
Seconds_Behind_Master, during which the test case could see the wrong value.

Fix by waiting for the expected status to appear.
This commit is contained in:
Kristian Nielsen
2014-12-02 09:27:22 +01:00
parent 433b28cede
commit 50b42441a6
2 changed files with 8 additions and 0 deletions

View File

@ -9,6 +9,7 @@ CALL mtr.add_suppression("Unsafe statement written to the binary log using state
INSERT INTO t1 VALUES (1,sleep(2)); INSERT INTO t1 VALUES (1,sleep(2));
Warnings: Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave. Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
include/wait_for_slave_param.inc [Seconds_Behind_Master]
Seconds_Behind_Master should be zero here because the slave is fully caught up and idle. Seconds_Behind_Master should be zero here because the slave is fully caught up and idle.
Seconds_Behind_Master = '0' Seconds_Behind_Master = '0'
include/stop_slave.inc include/stop_slave.inc

View File

@ -25,6 +25,13 @@ INSERT INTO t1 VALUES (1,sleep(2));
--connection server_2 --connection server_2
--sync_with_master --sync_with_master
# The slave position (which --sync_with_master waits for) is updated just
# before the Seconds_Behind_Master. So we have to wait for the zero status
# to appear, otherwise there is a small window between --sync_with_master
# and SHOW SLAVE STATUS where we can see a non-zero value.
--let $slave_param= Seconds_Behind_Master
--let $slave_param_value= 0
--source include/wait_for_slave_param.inc
--echo Seconds_Behind_Master should be zero here because the slave is fully caught up and idle. --echo Seconds_Behind_Master should be zero here because the slave is fully caught up and idle.
--let $status_items= Seconds_Behind_Master --let $status_items= Seconds_Behind_Master
--source include/show_slave_status.inc --source include/show_slave_status.inc