[ 
https://issues.apache.org/jira/browse/IMPALA-7542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16609438#comment-16609438
 ] 

ASF subversion and git services commented on IMPALA-7542:
---------------------------------------------------------

Commit d19f75764140e3a0a7cd8db4f36791cf635b0dbc in impala's branch 
refs/heads/master from Zoltan Borok-Nagy
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=d19f757 ]

IMPALA-7542: fix find-fragment-instances to find all "root threads"

find-fragment-instances didn't show all the threads
that worked on some fragment instance. It missed the
top-level "root threads" that started working on the
fragment instances.

I modified the get_fragment_instances() function to
check the local ThreadDebugInfo object of the threads
instead of checking the parent thread's ThreadDebugInfo.

I tested it locally on a core file.

Change-Id: I35ae1a6b384b002b343689469f02ceabd84af1b6
Reviewed-on: http://gerrit.cloudera.org:8080/11396
Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com>


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

Reply via email to