Zoltán Borók-Nagy created IMPALA-7542:
-----------------------------------------
Summary: find-fragment-instances in impala-gdb.py missing to find
the "root threads"
Key: IMPALA-7542
URL: https://issues.apache.org/jira/browse/IMPALA-7542
Project: IMPALA
Issue Type: Bug
Reporter: Zoltán Borók-Nagy
find-fragment-instances uses ThreadDebugInfo from IMPALA-6416 to find the query
ids and fragment ids currently being executed of an (probably crashed) impalad.
To achieve that it traverses the stack frames of each thread and searches for
the stack frame of Thread::SuperviseThread(). This function has a
parent_thread_info parameter that points to its parent thread's ThreadDebugInfo
object. Then, checks what instance id the parent thread is working on.
This is all good until the bottom of the thread hierarchy because threads
always work on the same fragment instance that their parent work on.
However, at the top of the hierarchy there is some "root thread" that starts to
work on a fragment instance, but its parent doesn't work on any. Since we only
check the parent thread's instance id we miss to catch this first thread.
Thread::SuperviseThread() also has a local ThreadDebugInfo that contains the
proper instance id, so we should use it instead of the parent's.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]