Arnab Karmakar created IMPALA-15607:
---------------------------------------

             Summary: Runtime profile THRIFT/BASE64 omits exec summary (stored 
on Summary child, serialized from root)
                 Key: IMPALA-15607
                 URL: https://issues.apache.org/jira/browse/IMPALA-15607
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
            Reporter: Arnab Karmakar


When a client requests a runtime profile in THRIFT or BASE64 form, Impala 
builds {{TRuntimeProfileTree}} from the root Query profile 
({{{}ClientRequestState::profile(){}}}). The exec summary lives in 
{{{}TRuntimeProfileTree.exec_summary{}}}, which {{RuntimeProfile::ToThrift()}} 
fills only from that root profile’s stored {{TExecSummary}} 
({{{}SetTExecSummary{}}} / {{GetExecSummary}} on the profile {{ToThrift()}} was 
called on).

{{ImpalaServer::UpdateExecSummary()}} updates the summary on the Summary child 
profile ({{{}summary_profile()->SetTExecSummary(...){}}}), not on the root. The 
child still gets the redacted ExecSummary info string for text profiles, but 
the root’s {{t_exec_summary_}} is never set. Deserialization 
({{{}CreateFromThrift{}}}) correctly restores {{exec_summary}} onto the root, 
so the Thrift contract expects the summary on the tree root—our write path does 
not match.

Impact: Tools that decode THRIFT/BASE64 profiles (including archived profiles 
using the same serialization) see an empty {{exec_summary}} even when the query 
is running or finished and data is available elsewhere. {{GetExecSummary}} 
still works because it reads from the coordinator, not from the profile tree.



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

Reply via email to