Alexey Serbin has uploaded this change for review. ( http://gerrit.cloudera.org:8080/14943
Change subject: [consensus] respond lock-free to RequestVote() if busy ...................................................................... [consensus] respond lock-free to RequestVote() if busy I saw cases of contention on replica's RaftConsensus lock when the filesystem was slow on updating Raft metadata files to record a vote that has just been granted by the replica. As it turned out, the fast path was also acquiring the RaftConsensus object lock, but it's easy to avoid that. This patch updates the code by not acquiring the lock in such cases. It should help a bit with overflowing of the RaftConsensus RPC queue. In addition, I turned the LOG(INFO) message about this event into VLOG(1) since it's not so important to report about such events on the responder side: its state doesn't change upon responding with ServiceUnavailable anyways. Change-Id: I95d5cbe455fefc4cdc540ee1e7b69e1f21b6ebc0 --- M src/kudu/consensus/raft_consensus.cc M src/kudu/consensus/raft_consensus.h 2 files changed, 40 insertions(+), 21 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/43/14943/1 -- To view, visit http://gerrit.cloudera.org:8080/14943 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I95d5cbe455fefc4cdc540ee1e7b69e1f21b6ebc0 Gerrit-Change-Number: 14943 Gerrit-PatchSet: 1 Gerrit-Owner: Alexey Serbin <[email protected]>
