summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl/t/rpl_master_pos_wait.test
blob: a3f3ff56464732a41d525d452bb1d91eebd9c348 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# See if master_pos_wait(,,timeout)
# Terminates with "timeout expired" (-1)
source include/master-slave.inc;
sync_slave_with_master;
# Ask for a master log that has certainly not been reached yet
# timeout= 2 seconds
select master_pos_wait('master-bin.999999',0,2);
explain extended select master_pos_wait('master-bin.999999',0,2);
# Testcase for bug 651 (master_pos_wait() hangs if slave idle and STOP SLAVE).
send select master_pos_wait('master-bin.999999',0);
connection slave1;
stop slave sql_thread;
connection slave;
reap;

#
# bug#26622 MASTER_POS_WAIT does not work as documented
#

connection master;
echo "*** must be empty ***";
query_vertical show slave status;

echo "*** must be NULL ***";
select master_pos_wait('foo', 98);

# End of 4.1 tests


--echo *** MDEV-7130: MASTER_POS_WAIT(log_name,log_pos,timeout,"connection_name") hangs, does not respect the timeout ***

--connection slave
--source include/stop_slave.inc
reset slave all;
--replace_result $MASTER_MYPORT MASTER_MYPORT
eval change master 'my_slave' to master_port=$MASTER_MYPORT, master_host='127.0.0.1', master_user='root';
set default_master_connection = 'my_slave';
--source include/start_slave.inc

--echo # Call without connection name -- works (expected -1)
select master_pos_wait('master-bin.000001',1000000,1);

set default_master_connection = '';

--echo # Call for non-existing anonymous connection -- works (expected NULL)
select master_pos_wait('master-bin.000001',1000000,1);

--echo # Call with a valid connection name -- hangs before MDEV-7130 fix (expected -1)
select master_pos_wait('master-bin.000001',1000000,1,"my_slave");

STOP SLAVE 'my_slave';
RESET SLAVE 'my_slave' ALL;

--replace_result $MASTER_MYPORT MASTER_MYPORT
eval change master to master_port=$MASTER_MYPORT, master_host='127.0.0.1', master_user='root';

# End of 10.0 tests

--let $rpl_only_running_threads= 1
--source include/rpl_end.inc