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: issues-all-unsubscr...@impala.apache.org
For additional commands, e-mail: issues-all-h...@impala.apache.org

Reply via email to