1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

scripts: Run scriptstatus for hung event

The timeout information printed by ctdbd is less than useful because
it refers to the cumulative time taken by the eventscripts run so far.
Adding scriptstatus output indicates where time was actually spent.

Since there is now quite a bit of output, serialise the calls to this
script using flock.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Pair-programmed-with: Amitay Isaacs <amitay@gmail.com>

(This used to be ctdb commit 1b016b2dfc5d7d3f2a42ce4dfe569608e90eb714)
This commit is contained in:
Martin Schwenke 2013-07-22 15:08:32 +10:00
parent 6cbcc4a8d9
commit 67b22b6e94

19
ctdb/config/debug-hung-script.sh Normal file → Executable file
View File

@ -1,4 +1,19 @@
#!/bin/sh
echo "Pstree output for the hung script:"
pstree -p -a $1
(
flock --wait 2 9 || exit 1
echo "===== Start of hung script debug for PID=\"$1\", event\"$2\" ====="
echo "pstree -p -a ${1}:"
pstree -p -a $1
echo "ctdb scriptstatus ${2}:"
# No use running several of these in parallel if, say, "releaseip"
# event hangs for multiple IPs. In that case the output would be
# interleaved in the log and would just be confusing.
ctdb scriptstatus "$2"
echo "===== End of hung script debug for PID=\"$1\", event\"$2\" ====="
) 9>"${CTDB_VARDIR}/debug-hung-script.lock"