You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Tim Armstrong (Jira)" <ji...@apache.org> on 2020/06/19 19:26:00 UTC

[jira] [Updated] (IMPALA-7598) Planner timeline not set in the runtime profile incase of errors

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

Tim Armstrong updated IMPALA-7598:
----------------------------------
    Labels: newbie ramp-up  (was: ramp-up)

> Planner timeline not set in the runtime profile incase of errors
> ----------------------------------------------------------------
>
>                 Key: IMPALA-7598
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7598
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>    Affects Versions: Impala 3.1.0
>            Reporter: Bharath Vissapragada
>            Priority: Major
>              Labels: newbie, ramp-up
>
> Currently, the frontend sets the "Query compilation" timeline only if doCreateExecRequest() finishes successfully.
> {code}
> private TExecRequest doCreateExecRequest(TQueryCtx queryCtx...) {
>   ...... <snip>......
>   timeline.markEvent("Planning finished");
>   result.setTimeline(timeline.toThrift());
>   return result;
> }
> {code}
> There can be cases where the timeline could be useful for debugging when the planning fails. 
> One recent case I came across is the exhaustion of retries on InconsistentMetadataFetchException. For every retry of query due to this exception, we add a timeline event.
> {code}
>  while (true) {
>       try {
>         return doCreateExecRequest(queryCtx, timeline, explainString);
>       } catch (InconsistentMetadataFetchException e) {
>         if (attempt++ == INCONSISTENT_METADATA_NUM_RETRIES) {
>           throw e;
>         }
>         if (attempt > 1) {
>           // Back-off a bit on later retries.
>           Uninterruptibles.sleepUninterruptibly(200 * attempt, TimeUnit.MILLISECONDS);
>         }
>         timeline.markEvent(
>             String.format("Retrying query planning due to inconsistent metadata "
>                     + "fetch, attempt %s of %s: ",
>                 attempt, INCONSISTENT_METADATA_NUM_RETRIES)
>             + e.getMessage());
> {code}
> However, if the planning eventually fails, the timeline about retries is gone. This would've confirmed that the query was re-tried for 10 times.
> Would be really useful if we can populate the partial timeline, even if the planning failed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org