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

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

Commit ce8078204e5995277f79e226e26fe8b9eaca408b in impala's branch 
refs/heads/master from Joe McDonnell
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=ce8078204 ]

IMPALA-13111: Fix the calculation of fragment ids for impala-gdb.py

The gdb helpers in impala-gdb.py provide functions to look on
the stack for the information added in IMPALA-6416 and get the
fragment/query ids. Right now, it is incorrectly using a signed
integer, which leads to incorrect ids like this:
-3cbda1606b3ade7c:f170c4bd00000000

This changes the logic to AND the integer with an 0xFF* sequence
of the right length. This forces the integer to be unsigned,
producing the right query id.

Testing:
 - Ran this on a minidump and verified the the listed query ids
   were valid (and existed in the profile log)

Change-Id: I59798407e99ee0e9100cac6b4b082cdb85ed43d1
Reviewed-on: http://gerrit.cloudera.org:8080/21472
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> impala-gdb.py's find-query-ids/find-fragment-instances return unusable query 
> ids
> --------------------------------------------------------------------------------
>
>                 Key: IMPALA-13111
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13111
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Infrastructure
>    Affects Versions: Impala 4.5.0
>            Reporter: Joe McDonnell
>            Assignee: Joe McDonnell
>            Priority: Major
>
> The gdb helpers in lib/python/impala_py_lib/gdb/impala-gdb.py provide 
> information about the queries / fragments running in a core file. However, 
> the query/fragment ids that it returns have issues with the signedness of the 
> integers:
> {noformat}
> (gdb) find-fragment-instances
> Fragment Instance Id    Thread IDs
> -23b76c1699a831a1:2793586800000036    [117120]
> -23b76c1699a831a1:2793586800000037    [117121]
> -23b76c1699a831a1:2793586800000038    [117122]
> ..
> (gdb) find-query-ids
> -3cbda1606b3ade7c:f170c4bd00000000
> -23b76c1699a831a1:2793586800000000
> 68435df1364aa90f:1752944f00000000
> 3442ed6354c7355d:78c83d2000000000{noformat}
> The low values for find-query-ids don't have this problem, because it is 
> ANDed with 0xFFFFFFFFFFFF0000:
> {noformat}
>             qid_low = format(int(qid_low, 16) & 0xFFFFFFFFFFFF0000, 
> 'x'){noformat}
> We can fix the other locations by ANDing with 0xFFFFFFFFFFFFFFFF.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to