Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4613

Fragment total time regressed after IMPALA-4504

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: Impala 2.8.0
    • Fix Version/s: Impala 2.8.0
    • Component/s: Backend
    • Labels:
      None

      Description

      After IMPALA-4504, the last report profile is sent from PFE::Exec(). As the comment there says, all counters must go out of scope before the profile is sent so that the timer value is updated (on destruction of the scoped timer):

      Status PlanFragmentExecutor::Exec() {
        DCHECK(opened_promise_.IsSet() && opened_promise_.Get().ok());
        SCOPED_TIMER(profile()->total_time_counter());
        Status status;
        {
          // Must go out of scope before FragmentComplete(), otherwise counter will not be
          // updated by time final profile is sent, and will always be 0.
          SCOPED_TIMER(ADD_TIMER(timings_profile_, EXEC_TIMER_NAME));
          status = ExecInternal();
        }
        if (!status.ok() && !status.IsCancelled() && !status.IsMemLimitExceeded()) {
          // Log error message in addition to returning in Status. Queries that do not fetch
          // results (e.g. insert) may not receive the message directly and can only retrieve
          // the log.
          runtime_state_->LogError(status.msg());
        }
        FragmentComplete(status);
        return status;
      }
      

        Attachments

          Activity

            People

            • Assignee:
              henryr Henry Robinson
              Reporter:
              henryr Henry Robinson
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: