Hello Tidy Bot, Alexey Serbin, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/15012 to look at the new patch set (#7). Change subject: KUDU-3011 p5: transfer leadership when quiescing ...................................................................... KUDU-3011 p5: transfer leadership when quiescing This amends the behavior of quiescing such that when a tablet server is quiescing, it will transfer leadership to a caught-up follower as soon as it can. While in this state, unlike while in a graceful stepdown period, the tablet can still be written to, as to not obstruct on-going workloads. Tests are added to exercise: - The basic behavior: even without injecting any errors that might cause elections, a quiescing leader will relinquish leadership. - The behavior when there are followers being caught up. In such cases, the leader won't immediately relinquish leadership -- instead, it will wait for the followers to catch up before stepping down. - The behavior when being written to. The fact that a leader is quiescing shouldn't affect its ability to be written to. - The behavior of the PeerMessageQueue when responding to various peer responses. I also removed some election-causing injection in a couple existing tests that was previously required to transfer leadership while quiescing. Note: right now, if all tablet servers are quiescing while there is a write workload on-going, a large number of StartElection requests will be sent from the leaders to the followers. A follow-up patch will address this. Change-Id: Idbf0716f5c9455f83ff5f6f601b0f5042f77d078 --- M src/kudu/consensus/consensus_peers-test.cc M src/kudu/consensus/consensus_queue-test.cc M src/kudu/consensus/consensus_queue.cc M src/kudu/consensus/consensus_queue.h M src/kudu/consensus/raft_consensus.cc M src/kudu/integration-tests/tablet_server_quiescing-itest.cc 6 files changed, 308 insertions(+), 27 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/12/15012/7 -- To view, visit http://gerrit.cloudera.org:8080/15012 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Idbf0716f5c9455f83ff5f6f601b0f5042f77d078 Gerrit-Change-Number: 15012 Gerrit-PatchSet: 7 Gerrit-Owner: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241)