Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/14260


Change subject: [consensus] KUDU-2947 fix voting in case of slow WAL
......................................................................

[consensus] KUDU-2947 fix voting in case of slow WAL

Before this patch, a follower replica may grant 'yes' votes right after
processing recent Raft transactions even if currently established leader
is alive and well in cases when persisting a Raft transaction in WAL
takes longer than the leader election timeout.

In some cases that might lead to multiple successive election rounds
even if there were no actual reason to re-elect leader replicas.

While it's hard to create a test scenario with real tablet servers
to reproduce the preconditions which allow this bug to manifest itself,
it's easy to create one to verify the behavior of a follower replica
in such conditions.  This patch adds such a scenario: it was failing
before the patch and now it's now passing with this patch.

Change-Id: I7c061b498e727a1a11e94e03c55530eeebfdf8dd
---
M src/kudu/consensus/raft_consensus.cc
M src/kudu/integration-tests/raft_consensus_election-itest.cc
2 files changed, 115 insertions(+), 2 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7c061b498e727a1a11e94e03c55530eeebfdf8dd
Gerrit-Change-Number: 14260
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <[email protected]>

Reply via email to