mirror of
https://github.com/MariaDB/server.git
synced 2025-07-25 16:39:52 +00:00

Fix some random test failures following MDEV-32168 push. Don't blindly set $rpl_only_running_threads in many places. Instead explicit stop only the IO or SQL thread, as appropriate. Setting it interfered with rpl_end.inc in some cases. Rather than clearing it afterwards, better to not set it at all when it is not needed, removing ambiguity in the test about the state of the replication threads. Don't fail the test if include/stop_slave_io.inc finds an error in the IO thread after stop. Such errors can be simply because slave stop happened in the middle of the IO thread's initial communication with the master. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
58 lines
1.8 KiB
PHP
58 lines
1.8 KiB
PHP
# ==== Purpose ====
|
|
#
|
|
# Waits until the IO thread of the current connection has stopped
|
|
# gracefully.
|
|
#
|
|
# Note: this script will fail if the IO thread stops with an error.
|
|
# If you expect an error in the IO thread, use
|
|
# include/wait_for_slave_io_error.inc instead.
|
|
#
|
|
# This script also fails if a timeout is reached (default 300
|
|
# seconds).
|
|
#
|
|
#
|
|
# ==== Usage ====
|
|
#
|
|
# [--let $slave_timeout= NUMBER]
|
|
# [--let $rpl_debug= 1]
|
|
# --source include/wait_for_slave_io_to_stop.inc
|
|
#
|
|
# Parameters:
|
|
# $slave_timeout
|
|
# See include/wait_for_slave_param.inc.
|
|
#
|
|
# $rpl_allow_error
|
|
# By default, this file fails if there is an error in the IO
|
|
# thread. However, if an error in the IO thread is possible and allowed,
|
|
# setting $rpl_allow_error=1 will prevent this file from failing if
|
|
# there is an error in the IO thread.
|
|
# (If an error is _always_ expected, a better alternative might be to
|
|
# use wait_for_slave_io_error.inc instead of this file).
|
|
# Note: This is currently always enabled, since a simple STOP SLAVE
|
|
# IO_THREAD can cause an error if it interrupts the slave's initial
|
|
# communication with the master (MDEV-32892).
|
|
#
|
|
# $rpl_debug
|
|
# See include/rpl_init.inc
|
|
|
|
|
|
--let $include_filename= wait_for_slave_io_to_stop.inc
|
|
--source include/begin_include_file.inc
|
|
|
|
|
|
--let $slave_param= Slave_IO_Running
|
|
--let $slave_param_value= No
|
|
--let $_io_stop_save_allow_error= $slave_error_param
|
|
# Disabled, as IO errors are left behind when a normal STOP SLAVE interrupts
|
|
# the initial communication between the IO thread and the master (MDEV-32892).
|
|
#if (!$rpl_allow_error)
|
|
#{
|
|
# --let $slave_error_param= Last_IO_Errno
|
|
#}
|
|
--source include/wait_for_slave_param.inc
|
|
--let $slave_error_param= $_io_stop_save_allow_error
|
|
|
|
|
|
--let $include_filename= wait_for_slave_io_to_stop.inc
|
|
--source include/end_include_file.inc
|