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:
parent
6cbcc4a8d9
commit
67b22b6e94
19
ctdb/config/debug-hung-script.sh
Normal file → Executable file
19
ctdb/config/debug-hung-script.sh
Normal file → Executable file
@ -1,4 +1,19 @@
|
|||||||
#!/bin/sh
|
#!/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"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user