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;
      }
      

        Activity

        Show
        henryr Henry Robinson added a comment - https://github.com/apache/incubator-impala/commit/9baf4f03ad0f37d54b0fe7f315cbb473e0c8a723

          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:

              Development