mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
This patch adds a new Impala Python GDB module, and implements a couple of covenience commands to make core dump analysis easier. The initial commands let us find queries and fragment instances currently executing in an impalad at the time the daemon crashed: (gdb) source impala-gdb.py (gdb) find-query-ids f74c863dff66a34d:1d983cc300000000 364525e12495932b:73f5dd0200000000 bc4a3eec25481981:edda04b800000000 (gdb) find-fragment-instances Fragment Instance Id Thread IDs 364525e12495932b:73f5dd02000000a2 [69] 364525e12495932b:73f5dd0200000171 [196, 136] bc4a3eec25481981:edda04b8000001a8 [252, 237, 206] f74c863dff66a34d:1d983cc30000009b [200, 14, 13, 12, 6, 5, 3, 2] f74c863dff66a34d:1d983cc30000013a [4] The commands have only been tested with Impala 2.12, and are not expected to work with older versions since it uses ThreadDebugInfo stuff from IMPALA-6416. It is hoped that people contribute more commands to the module. Change-Id: I24e7026f2265954ed592d6f62110cf8cb2c2202a Reviewed-on: http://gerrit.cloudera.org:8080/11352 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
What is impala-gdb.py?
This is a collection of Python GDB functions (macros) that can be invoked from a GDB session to aid analysis of Impala core dumps.
To use the functions, source impala-gdb.py as follows:
(gdb) source $IMPALA_HOME/lib/python/impala_py_lib/gdb/impala-gdb.py
Currently, the following functions are available:
1. find-query-ids
2. find-fragment-instances
Here's a sample interaction:
(gdb) help find-query-ids
Find IDs of all queries this impalad is currently executing.
(gdb) find-query-ids
f74c863dff66a34d:1d983cc300000000
364525e12495932b:73f5dd0200000000
bc4a3eec25481981:edda04b800000000
(gdb)
(gdb)
(gdb) help find-fragment-instances
Find all query fragment instance to thread Id mappings in this impalad.
(gdb) find-fragment-instances
Fragment Instance Id Thread IDs
364525e12495932b:73f5dd02000000a2 [69]
364525e12495932b:73f5dd0200000171 [196, 136]
bc4a3eec25481981:edda04b8000001a8 [252, 237, 206]
f74c863dff66a34d:1d983cc30000009b [200, 14, 13, 12, 6, 5, 3, 2]
f74c863dff66a34d:1d983cc30000013a [4]
(gdb)