This is an automated email from the ASF dual-hosted git repository. joemcdonnell pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/impala.git
commit 65ae5febee868addafb56b01f9276a03601dd039 Author: Alexey Serbin <[email protected]> AuthorDate: Tue Mar 21 12:40:51 2023 -0700 IMPALA-12014 warning on failed KeepAlive for Kudu scanner With this patch, there is now a warning message output when ScannerKeepAlive RPC for a Kudu scanner fails. To avoid flooding the log with those messages, KLOG_EVERY_N_SECS(WARNING, 60) is used. I also updated the signature of the KuduScanner::BuildErrorString() method to become a constant one. This is a follow-up to IMPALA-3292. Change-Id: If39f968685797506491d3d5ebc481efb6e43a568 Reviewed-on: http://gerrit.cloudera.org:8080/19643 Reviewed-by: Wenzhe Zhou <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> Reviewed-by: Michael Smith <[email protected]> --- be/src/exec/kudu/kudu-scanner.cc | 15 ++++++++++----- be/src/exec/kudu/kudu-scanner.h | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/be/src/exec/kudu/kudu-scanner.cc b/be/src/exec/kudu/kudu-scanner.cc index 62353eea4..c05367012 100644 --- a/be/src/exec/kudu/kudu-scanner.cc +++ b/be/src/exec/kudu/kudu-scanner.cc @@ -20,6 +20,7 @@ #include <string> #include <vector> +#include <glog/logging.h> #include <kudu/client/resource_metrics.h> #include <kudu/client/row_result.h> #include <kudu/client/value.h> @@ -34,6 +35,7 @@ #include "gutil/gscoped_ptr.h" #include "gutil/strings/substitute.h" #include "kudu/util/block_bloom_filter.h" +#include "kudu/util/logging.h" #include "kudu/util/slice.h" #include "runtime/mem-pool.h" #include "runtime/mem-tracker.h" @@ -93,7 +95,9 @@ Status KuduScanner::Open() { } void KuduScanner::KeepKuduScannerAlive() { - if (scanner_ == nullptr) return; + if (scanner_ == nullptr) { + return; + } int64_t now = MonotonicMicros(); int64_t keepalive_us = FLAGS_kudu_scanner_keep_alive_period_sec * 1e6; if (now < last_alive_time_micros_ + keepalive_us) { @@ -106,7 +110,8 @@ void KuduScanner::KeepKuduScannerAlive() { // if the scan is unrecoverable. kudu::Status s = scanner_->KeepAlive(); if (!s.ok()) { - VLOG(1) << "Unable to keep the Kudu scanner alive: " << s.ToString(); + KLOG_EVERY_N_SECS(WARNING, 60) << BuildErrorString( + Substitute("$0: unable to keep scanner alive", s.ToString()).c_str()); return; } last_alive_time_micros_ = now; @@ -453,9 +458,9 @@ Status KuduScanner::GetNextScannerBatch() { return Status::OK(); } -string KuduScanner::BuildErrorString(const char* msg) { - return Substitute("$0 for node with id '$1' for Kudu table '$2'", msg, scan_node_->id(), - scan_node_->table_desc()->table_name()); +string KuduScanner::BuildErrorString(const char* msg) const { + return Substitute("$0 for node with id '$1' for Kudu table '$2'", + msg, scan_node_->id(), scan_node_->table_desc()->table_name()); } } // namespace impala diff --git a/be/src/exec/kudu/kudu-scanner.h b/be/src/exec/kudu/kudu-scanner.h index 0fcce2e83..1250e19ab 100644 --- a/be/src/exec/kudu/kudu-scanner.h +++ b/be/src/exec/kudu/kudu-scanner.h @@ -94,7 +94,7 @@ class KuduScanner { } /// Builds the error string by adding the PlanNode id and KuduTable to the message. - std::string BuildErrorString(const char* msg); + std::string BuildErrorString(const char* msg) const; KuduScanNodeBase* scan_node_; RuntimeState* state_;
