mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 03:47:17 +02:00
MDEV-15442 xtrabackup-v2 SST donor stuck in DONOR/DESYNCED state when joiner is killed
Monitor mysqld process and if it is terminated during sst stream kill xtrabackup-v2 script and children
This commit is contained in:
parent
f5b128dfad
commit
e5c6580178
1 changed files with 22 additions and 1 deletions
|
|
@ -801,6 +801,27 @@ check_for_version()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
monitor_process()
|
||||||
|
{
|
||||||
|
local sst_stream_pid=$1
|
||||||
|
|
||||||
|
while true ; do
|
||||||
|
|
||||||
|
if ! ps --pid "${WSREP_SST_OPT_PARENT}" &>/dev/null; then
|
||||||
|
wsrep_log_error "Parent mysqld process (PID:${WSREP_SST_OPT_PARENT}) terminated unexpectedly."
|
||||||
|
kill -- -"${WSREP_SST_OPT_PARENT}"
|
||||||
|
exit 32
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! ps --pid "${sst_stream_pid}" &>/dev/null; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 0.1
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if [[ ! -x `which $INNOBACKUPEX_BIN` ]];then
|
if [[ ! -x `which $INNOBACKUPEX_BIN` ]];then
|
||||||
wsrep_log_error "innobackupex not in path: $PATH"
|
wsrep_log_error "innobackupex not in path: $PATH"
|
||||||
|
|
@ -1102,7 +1123,7 @@ then
|
||||||
|
|
||||||
MAGIC_FILE="${DATA}/${INFO_FILE}"
|
MAGIC_FILE="${DATA}/${INFO_FILE}"
|
||||||
wsrep_log_info "Waiting for SST streaming to complete!"
|
wsrep_log_info "Waiting for SST streaming to complete!"
|
||||||
wait $jpid
|
monitor_process $jpid
|
||||||
|
|
||||||
get_proc
|
get_proc
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue