Hello David Ribeiro Alves, Mike Percy, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/5111
to look at the new patch set (#8).
Change subject: [consensus] KUDU-1613: Fix replica eviction failure for
WRONG_SERVER_UUID
......................................................................
[consensus] KUDU-1613: Fix replica eviction failure for WRONG_SERVER_UUID
Fixes replica eviction failure where a follower hosting the replica returns
WRONG_SERVER_UUID (perhaps due to all-disks-replaced situation) and that
follower is never evicted from the consensus config.
If a tablet server changes its uuid, it starts responding with
Status::InvalidArgument for most of the RPCs along with the error
code WRONG_SERVER_UUID in the response. Raft consensus can treat this
error code as fatal since this means that the server has changed its
identity (uuid) and the server is irrecoverable from that situation.
Tablet leader should identify this as a transient error and evict such nodes
from the tablet config after heartbeat timeout. Master will re-replicate
the tablet if the tablet is under-replicated after eviction.
It is important to note that same tablet server identified with new uuid
could be one of the candidates considered for re-replication because
the follower registered itself as a new tablet server. Added an integration
test which verifies this workflow.
Change-Id: I0d3f84fd297a8e4760208a213c1ee393e92499a3
---
M src/kudu/consensus/consensus_peers.cc
M src/kudu/consensus/consensus_peers.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/consensus_queue.h
M src/kudu/integration-tests/raft_consensus-itest.cc
5 files changed, 194 insertions(+), 50 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/11/5111/8
--
To view, visit http://gerrit.cloudera.org:8080/5111
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0d3f84fd297a8e4760208a213c1ee393e92499a3
Gerrit-PatchSet: 8
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Dinesh Bhat <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: David Ribeiro Alves <[email protected]>
Gerrit-Reviewer: Dinesh Bhat <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <[email protected]>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <[email protected]>