Repository: impala Updated Branches: refs/heads/master 456356ca0 -> ff26663f9
IMPALA-4970: Record identity of largest latency ExecQueryFInstances() Tracked the slowest ExecQueryFInstances() RPC to executors and added the identity of that executor to the RuntimeProfile. Testing: Manually tested to verify working. Change-Id: Icf9ce0d087c91c2e92ba5be08c96cc5364ae38dc Reviewed-on: http://gerrit.cloudera.org:8080/10490 Reviewed-by: Sailesh Mukil <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/impala/repo Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/ff26663f Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/ff26663f Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/ff26663f Branch: refs/heads/master Commit: ff26663f90b58153e8086c1a779f8604b2cfe685 Parents: 456356c Author: Rahul Shivu Mahadev <[email protected]> Authored: Wed May 23 13:49:33 2018 -0700 Committer: Impala Public Jenkins <[email protected]> Committed: Fri May 25 22:13:08 2018 +0000 ---------------------------------------------------------------------- be/src/runtime/coordinator.cc | 9 +++++++++ 1 file changed, 9 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/impala/blob/ff26663f/be/src/runtime/coordinator.cc ---------------------------------------------------------------------- diff --git a/be/src/runtime/coordinator.cc b/be/src/runtime/coordinator.cc index 90e2390..de35af9 100644 --- a/be/src/runtime/coordinator.cc +++ b/be/src/runtime/coordinator.cc @@ -353,6 +353,8 @@ Status Coordinator::FinishBackendStartup() { HistogramMetric latencies(def, 30 * 60 * 1000, 4); Status status = Status::OK(); string error_hostname; + string max_latency_host; + int max_latency = 0; for (BackendState* backend_state: backend_states_) { // preserve the first non-OK, if there is one Status backend_status = backend_state->GetStatus(); @@ -360,10 +362,17 @@ Status Coordinator::FinishBackendStartup() { status = backend_status; error_hostname = backend_state->impalad_address().hostname; } + if (backend_state->rpc_latency() > max_latency) { + // Find the backend that takes the most time to acknowledge to + // the ExecQueryFinstances() RPC. + max_latency = backend_state->rpc_latency(); + max_latency_host = TNetworkAddressToString(backend_state->impalad_address()); + } latencies.Update(backend_state->rpc_latency()); } query_profile_->AddInfoString( "Backend startup latencies", latencies.ToHumanReadable()); + query_profile_->AddInfoString("Slowest Backend to startup", max_latency_host); return UpdateExecState(status, nullptr, error_hostname); }
