Commit f633e6f5 authored by Luis Soares's avatar Luis Soares

BUG#11746302

Automerge mysql-5.1-gca into latest mysql-5.1.
parents 55d3381c 21163d68
include/master-slave.inc include/master-slave.inc
[connection master] [connection master]
stop slave; include/stop_slave.inc
create table t1 (a int); create table t1 (a int);
drop table t1; drop table t1;
create table t1 (a int); create table t1 (a int);
...@@ -8,10 +8,8 @@ drop table t1; ...@@ -8,10 +8,8 @@ drop table t1;
reset slave; reset slave;
start slave io_thread; start slave io_thread;
include/wait_for_slave_param.inc [Slave_IO_State] include/wait_for_slave_param.inc [Slave_IO_State]
stop slave io_thread; include/stop_slave_io.inc
reset slave; reset slave;
start slave; include/start_slave.inc
select master_pos_wait('master-bin.001',200,6)=-1; include/assert.inc [Assert that master_pos_wait does not timeout nor it returns NULL]
master_pos_wait('master-bin.001',200,6)=-1
0
include/rpl_end.inc include/rpl_end.inc
...@@ -2,8 +2,9 @@ ...@@ -2,8 +2,9 @@
# to force the deadlock after one event. # to force the deadlock after one event.
source include/master-slave.inc; source include/master-slave.inc;
--let $master_log_file= query_get_value(SHOW MASTER STATUS, File, 1)
connection slave; connection slave;
stop slave; --source include/stop_slave.inc
connection master; connection master;
# This will generate a master's binlog > 10 bytes # This will generate a master's binlog > 10 bytes
create table t1 (a int); create table t1 (a int);
...@@ -19,20 +20,33 @@ let $slave_param_value= Waiting for the slave SQL thread to free enough relay lo ...@@ -19,20 +20,33 @@ let $slave_param_value= Waiting for the slave SQL thread to free enough relay lo
source include/wait_for_slave_param.inc; source include/wait_for_slave_param.inc;
# A bug caused the I/O thread to refuse stopping. # A bug caused the I/O thread to refuse stopping.
stop slave io_thread; --source include/stop_slave_io.inc
reset slave; reset slave;
start slave; --source include/start_slave.inc
# The I/O thread stops filling the relay log when
# it's >10b. And the SQL thread cannot purge this relay log # The I/O thread stops filling the relay log when it's >10b. And the
# as purge is done only when the SQL thread switches to another # SQL thread cannot purge this relay log as purge is done only when
# relay log, which does not exist here. # the SQL thread switches to another relay log, which does not exist
# So we should have a deadlock. # here. So we should have a deadlock. If it is not resolved
# if it is not resolved automatically we'll detect # automatically we'll detect it with master_pos_wait that waits for
# it with master_pos_wait that waits for farther than 1Ob; # farther than 1Ob; it will timeout after 300 seconds (which is inline
# it will timeout after 10 seconds; # with the default used for sync_slave_with_master and will protect us
# also the slave will probably not cooperate to shutdown # against slow test envs); also the slave will probably not cooperate
# (as 2 threads are locked) # to shutdown (as 2 threads are locked)
select master_pos_wait('master-bin.001',200,6)=-1; --let $outcome= `SELECT MASTER_POS_WAIT('$master_log_file',200,300) AS mpw;`
# master_pos_wait returns:
#
# * >= 0, the number of events the slave had to wait to advance to the
# position
#
# * -1, if there was a timeout
#
# * NULL, if an error occurred, or the SQL thread was not started,
# slave master info is not initialized, the arguments are incorrect
--let $assert_text= Assert that master_pos_wait does not timeout nor it returns NULL
--let $assert_cond= $outcome IS NOT NULL AND $outcome <> -1
--source include/assert.inc
# End of 4.1 tests # End of 4.1 tests
--source include/rpl_end.inc --source include/rpl_end.inc
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment