Dinesh Bhat has posted comments on this change. Change subject: KUDU-1330: Add a tool to unsafely recover from loss of majority replicas ......................................................................
Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/6066/1/src/kudu/consensus/raft_consensus.cc File src/kudu/consensus/raft_consensus.cc: PS1, Line 1556: RaftConsensus::ReplaceConfig > TFTR David, just a heads up here that latest patch doesn't reflect all the After discussion with Mike yesterday couple of things we want to revise further: 1) Instead of squeezing this functionality in leader-driven ChangeConfig RPC, we will have a new RPC which accepts ReplaceConfigRequestPB containing bunch of uuids to be removed from the config (as per your original suggestion of making the API less user-error-prone). We can change these semantics later if we want to. 2) For the pending config change which was replicated on WAL, we decided to relax "allow-max-one-pending-config-change" criteria for this API. This means we may observe 2 replicated CONFIG_CHANGE on the log after crash recovery first one was original one, second was appended by the tool. 3) Current patch uses last replicated opid to set the committed index field in consensus request instead of last committed opid, I have fixed that. I still need to see what value should we pass in 'all_replicated_index' in the consensus request or do we need that at all. 4) Some misc tooling changes to accommodate 1). 5) I have removed changes from consensus_queue.[hc], since they were no longer necessary after I updated the patch to use a fake leader_uuid. 6) Fake leader uuid string will be replaced by a static id string "/bin/kudu" after 1) is in place and that static id string is supplied by the tool itself. My concern here was if it goes through any uuid sanity checks somewhere in the core consensus, testing will confirm this. -- To view, visit http://gerrit.cloudera.org:8080/6066 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I908d8c981df74d56dbd034e72001d379fb314700 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dinesh Bhat <[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-HasComments: Yes
