mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
IMPALA-14000: Dump jstacks first in dump-stacktraces.sh
bin/dump-stacktraces.sh collects pstack and jstack of the cluster. It's used when some tests time out. Collecting pstacks might take long and fail in the middle, causing jstacks not being collected. This changes the script to collect jstacks first. Also adds -c to the "thread apply all bt" gdb command to continue past an error. Change-Id: I8f610ee4d4934fe950a9f56cf74a7e76e5d63651 Reviewed-on: http://gerrit.cloudera.org:8080/22826 Reviewed-by: Daniel Becker <daniel.becker@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
committed by
Impala Public Jenkins
parent
912114b6cd
commit
2f9abc4e80
@@ -27,7 +27,7 @@ function collect_gdb_backtraces() {
|
||||
pid=$2
|
||||
result="${IMPALA_TIMEOUT_LOGS_DIR}/${name}_${pid}_$(date +%Y%m%d-%H%M%S).txt"
|
||||
echo "**** Generating backtrace of $name with process id: $pid to $result ****"
|
||||
gdb -ex "thread apply all bt" --batch -p $pid >"$result"
|
||||
gdb -ex "thread apply all -c bt" --batch -p $pid >"$result"
|
||||
}
|
||||
|
||||
function collect_jstacks() {
|
||||
@@ -43,15 +43,15 @@ WORKER_PIDS=()
|
||||
mkdir -p "$IMPALA_TIMEOUT_LOGS_DIR"
|
||||
|
||||
for pid in $(pgrep impalad); do
|
||||
collect_gdb_backtraces impalad $pid && collect_jstacks impalad $pid &
|
||||
collect_jstacks impalad $pid && collect_gdb_backtraces impalad $pid &
|
||||
WORKER_PIDS+=($!)
|
||||
done
|
||||
|
||||
# Catalogd's process name may change. Use 'ps' directly to search the binary name.
|
||||
CATALOGD_PID=$(ps aux | grep [c]atalogd | awk '{print $2}')
|
||||
if [[ ! -z $CATALOGD_PID ]]; then
|
||||
collect_gdb_backtraces catalogd $CATALOGD_PID && \
|
||||
collect_jstacks catalogd $CATALOGD_PID &
|
||||
collect_jstacks catalogd $CATALOGD_PID && \
|
||||
collect_gdb_backtraces catalogd $CATALOGD_PID &
|
||||
WORKER_PIDS+=($!)
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user