IMPALA-3920: TotalStorageWaitTime counter not populated for fragments with Kudu scan node
Currently we do not start the TotalStorageWaitTime timer in the kudu-scanner. This patch replaces the kudu_read_timer with the TotalStorageWaitTime which measures the intended time. Change-Id: If0c793930799fdcaff53e705f94b52cadac2f53a Reviewed-on: http://gerrit.cloudera.org:8080/4639 Reviewed-by: Matthew Jacobs <[email protected]> Tested-by: Internal Jenkins Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/ef5d0c36 Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/ef5d0c36 Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/ef5d0c36 Branch: refs/heads/hadoop-next Commit: ef5d0c36aa7d681d91f04be0f0a487c9fe402c51 Parents: b15d992 Author: aphadke <[email protected]> Authored: Wed Oct 5 16:51:07 2016 -0700 Committer: Internal Jenkins <[email protected]> Committed: Wed Oct 19 23:07:47 2016 +0000 ---------------------------------------------------------------------- be/src/exec/kudu-scan-node.cc | 3 --- be/src/exec/kudu-scan-node.h | 3 --- be/src/exec/kudu-scanner.cc | 4 ++-- 3 files changed, 2 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ef5d0c36/be/src/exec/kudu-scan-node.cc ---------------------------------------------------------------------- diff --git a/be/src/exec/kudu-scan-node.cc b/be/src/exec/kudu-scan-node.cc index 6e97378..4a162a8 100644 --- a/be/src/exec/kudu-scan-node.cc +++ b/be/src/exec/kudu-scan-node.cc @@ -60,7 +60,6 @@ using kudu::Slice; namespace impala { -const string KuduScanNode::KUDU_READ_TIMER = "TotalKuduReadTime"; const string KuduScanNode::KUDU_ROUND_TRIPS = "TotalKuduScanRoundTrips"; const string KuduScanNode::KUDU_REMOTE_TOKENS = "KuduRemoteScanTokens"; @@ -95,8 +94,6 @@ Status KuduScanNode::Prepare(RuntimeState* state) { scan_ranges_complete_counter_ = ADD_COUNTER(runtime_profile(), SCAN_RANGES_COMPLETE_COUNTER, TUnit::UNIT); - kudu_read_timer_ = ADD_CHILD_TIMER(runtime_profile(), KUDU_READ_TIMER, - SCANNER_THREAD_TOTAL_WALLCLOCK_TIME); kudu_round_trips_ = ADD_COUNTER(runtime_profile(), KUDU_ROUND_TRIPS, TUnit::UNIT); kudu_remote_tokens_ = ADD_COUNTER(runtime_profile(), KUDU_REMOTE_TOKENS, TUnit::UNIT); http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ef5d0c36/be/src/exec/kudu-scan-node.h ---------------------------------------------------------------------- diff --git a/be/src/exec/kudu-scan-node.h b/be/src/exec/kudu-scan-node.h index d4f742a..79ed480 100644 --- a/be/src/exec/kudu-scan-node.h +++ b/be/src/exec/kudu-scan-node.h @@ -99,10 +99,8 @@ class KuduScanNode : public ScanNode { /// Thread group for all scanner worker threads ThreadGroup scanner_threads_; - RuntimeProfile::Counter* kudu_read_timer_; RuntimeProfile::Counter* kudu_round_trips_; RuntimeProfile::Counter* kudu_remote_tokens_; - static const std::string KUDU_READ_TIMER; static const std::string KUDU_ROUND_TRIPS; static const std::string KUDU_REMOTE_TOKENS; @@ -136,7 +134,6 @@ class KuduScanNode : public ScanNode { // have been open previously. Status GetConjunctCtxs(vector<ExprContext*>* ctxs); - RuntimeProfile::Counter* kudu_read_timer() const { return kudu_read_timer_; } RuntimeProfile::Counter* kudu_round_trips() const { return kudu_round_trips_; } }; http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/ef5d0c36/be/src/exec/kudu-scanner.cc ---------------------------------------------------------------------- diff --git a/be/src/exec/kudu-scanner.cc b/be/src/exec/kudu-scanner.cc index a6affbf..ca4ee9a 100644 --- a/be/src/exec/kudu-scanner.cc +++ b/be/src/exec/kudu-scanner.cc @@ -147,7 +147,7 @@ Status KuduScanner::OpenNextScanToken(const string& scan_token) { "Could not set scanner timeout"); { - SCOPED_TIMER(scan_node_->kudu_read_timer()); + SCOPED_TIMER(state_->total_storage_wait_timer()); KUDU_RETURN_IF_ERROR(scanner_->Open(), "Unable to open scanner"); } return Status::OK(); @@ -335,7 +335,7 @@ Status KuduScanner::KuduRowToImpalaTuple(const KuduScanBatch::RowPtr& row, Status KuduScanner::GetNextScannerBatch() { - SCOPED_TIMER(scan_node_->kudu_read_timer()); + SCOPED_TIMER(state_->total_storage_wait_timer()); int64_t now = MonotonicMicros(); KUDU_RETURN_IF_ERROR(scanner_->NextBatch(&cur_kudu_batch_), "Unable to advance iterator"); COUNTER_ADD(scan_node_->kudu_round_trips(), 1);
