mirror of
https://github.com/apache/impala.git
synced 2025-12-21 19:08:12 -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>
44 lines
1.0 KiB
Markdown
44 lines
1.0 KiB
Markdown
## 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)
|
|
```
|