[jira] [Commented] (IMPALA-7542) find-fragment-instances in impala-gdb.py misses to find the "root threads"

2018-09-10 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/IMPALA-7542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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 
Tested-by: Impala Public Jenkins 


> 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



[jira] [Commented] (IMPALA-7542) find-fragment-instances in impala-gdb.py misses to find the "root threads"

2018-09-06 Thread JIRA


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

Zoltán Borók-Nagy commented on IMPALA-7542:
---

Under review: [https://gerrit.cloudera.org/#/c/11396/]

I also want to note that it still doesn't find all threads that work on some 
fragment instances, because threads that belong to thread pools aren't 
annotated currently. IMPALA-6417 is tracking this.

> 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