Henry Robinson has uploaded a new change for review.

  http://gerrit.cloudera.org:8080/5971

Change subject: IMPALA-4905: Reduce coordinator lock contention in RPC handler
......................................................................

IMPALA-4905: Reduce coordinator lock contention in RPC handler

Fragment instances call ReportExecStatus every few seconds, so there are
often very many of those RPCs in flight. The handler in
Coordinator::UpdateFragmentExecStatus() would try and take the shared
coordinator lock twice, once to merge in any insert file move operations
to be performed, and once to print all the other instance state's
status.

There was also a bug where the insert-merge branch would always be
taken (and so would the lock) even if the query was not an INSERT
statement.

This patch refactors UpdateFragmentExecStatus() so that it never takes
the coordinator lock. Instead, the insert updates are saved in the
fragment instance state to be merged during finalization, and the
logging is now done by the main coordinator thread which is signalled by
the RPC handler.

Change-Id: Id7599780785c4e9306711f535bf4726a247873e2
---
M be/src/runtime/coordinator.cc
M be/src/runtime/coordinator.h
M be/src/runtime/fragment-instance-state.cc
3 files changed, 77 insertions(+), 50 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/71/5971/1
-- 
To view, visit http://gerrit.cloudera.org:8080/5971
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id7599780785c4e9306711f535bf4726a247873e2
Gerrit-PatchSet: 1
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Henry Robinson <he...@cloudera.com>

Reply via email to