mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
63 lines
1.4 KiB
PHP
63 lines
1.4 KiB
PHP
|
# ==== Purpose ====
|
||
|
#
|
||
|
# Terminate all binlog dump threads on a master.
|
||
|
#
|
||
|
# This is sometimes useful, as normally such dump threads can hang
|
||
|
# around for some time before they notice that the slave has disconnected.
|
||
|
#
|
||
|
# Note that if there are active slave connections, they might try to
|
||
|
# reconnect as their dump threads are killed, which may not lead to the
|
||
|
# desired results.
|
||
|
#
|
||
|
#
|
||
|
# ==== Usage ====
|
||
|
#
|
||
|
# [--let $kill_timeout= NUMBER]
|
||
|
# --source include/stop_slavekill_binlog_dump_threads.inc
|
||
|
#
|
||
|
# Parameters:
|
||
|
# $kill_timeout
|
||
|
# Maximum number of seconds to wait for dump threads to disappear.
|
||
|
|
||
|
|
||
|
--let $include_filename= kill_binlog_dump_threads.inc
|
||
|
--source include/begin_include_file.inc
|
||
|
|
||
|
--disable_query_log
|
||
|
|
||
|
let $wait_counter= 300;
|
||
|
if ($kill_timeout)
|
||
|
{
|
||
|
let $wait_counter= `SELECT $kill_timeout * 10`;
|
||
|
}
|
||
|
|
||
|
let $success= 0;
|
||
|
while ($wait_counter)
|
||
|
{
|
||
|
dec $wait_counter;
|
||
|
let $_tid= `SELECT id FROM information_schema.processlist WHERE command = 'Binlog Dump' LIMIT 1`;
|
||
|
if ($_tid)
|
||
|
{
|
||
|
eval KILL QUERY $_tid;
|
||
|
}
|
||
|
if (!$_tid)
|
||
|
{
|
||
|
let $wait_counter= 0;
|
||
|
let $success= 1;
|
||
|
}
|
||
|
if (!$success)
|
||
|
{
|
||
|
real_sleep 0.1;
|
||
|
}
|
||
|
}
|
||
|
if (!$success)
|
||
|
{
|
||
|
SHOW FULL PROCESSLIST;
|
||
|
--die Timeout while waiting for binlog dump threads to disappear.
|
||
|
}
|
||
|
|
||
|
--enable_query_log
|
||
|
|
||
|
--let $include_filename= kill_binlog_dump_threads.inc
|
||
|
--source include/end_include_file.inc
|