[
https://issues.apache.org/jira/browse/IMPALA-7542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zoltán Borók-Nagy updated IMPALA-7542:
--------------------------------------
Summary: find-fragment-instances in impala-gdb.py misses to find the "root
threads" (was: find-fragment-instances in impala-gdb.py missing to find the
"root threads")
> find-fragment-instances in impala-gdb.py misses 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
> Priority: Major
>
> 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]