You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Todd Lipcon (Code Review)" <ge...@cloudera.org> on 2016/03/26 00:23:18 UTC

[kudu-CR] KUDU-1338. Pending raft config should be cleared when CHANGE_CONFIG is aborted

Hello Jean-Daniel Cryans, Mike Percy, Kudu Jenkins,

I'd like you to reexamine a change.  Please visit

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

to look at the new patch set (#2).

Change subject: KUDU-1338. Pending raft config should be cleared when CHANGE_CONFIG is aborted
......................................................................

KUDU-1338. Pending raft config should be cleared when CHANGE_CONFIG is aborted

This fixes te issue described in KUDU-1338: when a config-change operation
is aborted on a replica, it's important to clear the pending configuration
state. Otherwise, we can hit either of two issues:

1) The replica will become 'stuck' in the case that a different leader
proposes a new change-config. The replica won't accept the new config
change since a change is already pending, and then never makes further
progress.

2) If the replica manages to elect itself leader, it could result
in Raft divergence when it continues to operate with a stale
configuration.

The patch contains a simple test modification which reliably reproduced the
first of the two issues.

Change-Id: Id2e99e4e67e2d6324c8123f79bea84523581b78b
---
M docs/design-docs/raft-config-change.md
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus_state.cc
M src/kudu/integration-tests/raft_consensus-itest.cc
4 files changed, 29 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/83/2483/2
-- 
To view, visit http://gerrit.cloudera.org:8080/2483
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id2e99e4e67e2d6324c8123f79bea84523581b78b
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <da...@cloudera.com>
Gerrit-Reviewer: Jean-Daniel Cryans
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Mike Percy <mp...@apache.org>
Gerrit-Reviewer: Todd Lipcon <to...@apache.org>