[ 
https://issues.apache.org/jira/browse/IMPALA-4697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Armstrong updated IMPALA-4697:
----------------------------------
    Description: 
If MergeStatus() or AddDetail() is called on the status, and then that Status 
is passed to RuntimeState::LogError(), the merged error messages are silently 
dropped and never reported anywhere.

We should fix this because the merged error messages often include important 
diagnostic info.

See
{code} 
VLOG(vlog_level) << "Error from query " << PrintId(query_id()) << ": " << 
message.msg();
{code}

{code} 
void AppendError(ErrorLogMap* map, const ErrorMsg& e) {
  ErrorLogEntryPB* target = &(*map)[e.error()];
  if (e.error() == TErrorCode::GENERAL) {
    target->add_messages(e.msg());
  } else {
    if (target->messages_size() == 0) {
      target->add_messages(e.msg());
    }
    target->set_count(target->count() + 1);
  }
}
{code} 

The issue is that .msg() is the original error string and does not include the 
additional details.

  was:
If MergeStatus() or AddDetail() is called on the status, and then that Status 
is passed to RuntimeState::LogError(), the merged error messages are silently 
dropped and never reported anywhere.

We should fix this because the merged error messages often include important 
diagnostic info.


> RuntimeState::LogError() does not log merged status
> ---------------------------------------------------
>
>                 Key: IMPALA-4697
>                 URL: https://issues.apache.org/jira/browse/IMPALA-4697
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 2.8.0
>            Reporter: Tim Armstrong
>            Priority: Major
>              Labels: supportability
>
> If MergeStatus() or AddDetail() is called on the status, and then that Status 
> is passed to RuntimeState::LogError(), the merged error messages are silently 
> dropped and never reported anywhere.
> We should fix this because the merged error messages often include important 
> diagnostic info.
> See
> {code} 
> VLOG(vlog_level) << "Error from query " << PrintId(query_id()) << ": " << 
> message.msg();
> {code}
> {code} 
> void AppendError(ErrorLogMap* map, const ErrorMsg& e) {
>   ErrorLogEntryPB* target = &(*map)[e.error()];
>   if (e.error() == TErrorCode::GENERAL) {
>     target->add_messages(e.msg());
>   } else {
>     if (target->messages_size() == 0) {
>       target->add_messages(e.msg());
>     }
>     target->set_count(target->count() + 1);
>   }
> }
> {code} 
> The issue is that .msg() is the original error string and does not include 
> the additional details.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to