Hello David Ribeiro Alves, Mike Percy, Todd Lipcon,

I'd like you to do a code review.  Please visit

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

to review the following change.

Change subject: kserver: consolidate randomized failure monitors
......................................................................

kserver: consolidate randomized failure monitors

The failure detector design (i.e. the split between FailureDetector and
RandomizedFailureMonitor) makes it quite simple to consolidate the threads
used by failure detectors: simply share a single RandomizedFailureMonitor.
Most of this patch is plumbing to enable that.

What's actually interesting?
- When failure detection is activated, we create a cycle between
  RaftConsensus and FailureDetector in order to protect against failure
  callbacks triggering after RaftConsensus is destroyed. The cycle is broken
  during Shutdown. If/when RaftConsensus is changed to use a standard
  shared_ptr, we can bind with a weak_ptr and avoid the cycle.
- kserver now depends on consensus; this means it can use gflags defined in
  consensus. Accordingly, the raft pool's custom idle time has been restored
  (it was removed in commit 3fb84a7).

Change-Id: I096e3e89bf6e8925f6ea0382fc319d7382237787
---
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
M src/kudu/consensus/raft_consensus_quorum-test.cc
M src/kudu/kserver/CMakeLists.txt
M src/kudu/kserver/kserver.cc
M src/kudu/kserver/kserver.h
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet_replica-test.cc
M src/kudu/tablet/tablet_replica.cc
M src/kudu/tablet/tablet_replica.h
M src/kudu/tserver/tablet_copy_source_session-test.cc
M src/kudu/tserver/ts_tablet_manager.cc
12 files changed, 112 insertions(+), 58 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/7330/1
-- 
To view, visit http://gerrit.cloudera.org:8080/7330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I096e3e89bf6e8925f6ea0382fc319d7382237787
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com>
Gerrit-Reviewer: Mike Percy <mpe...@apache.org>
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to