Mike Percy has posted comments on this change. Change subject: WIP KUDU-1330: Add a tool to unsafely recover from loss of majority replicas ......................................................................
Patch Set 2: (12 comments) http://gerrit.cloudera.org:8080/#/c/6066/2//COMMIT_MSG Commit Message: PS2, Line 13: perticularly particularly Line 22: a) The API/tool acts as a fake leader mimicking the actual leader the node As mentioned in comments on raft_consensus.cc the tool should not impersonate the current / previous leader. It should impersonate a totally new and different leader in a new term. Line 26: a) Assumption is that, the dead nodes are not coming back with a higher term, s/a/b/ Per above, leadership should not be retained Line 43: 2) Add a test case for when the node has a pending config change, +1 on this http://gerrit.cloudera.org:8080/#/c/6066/2/src/kudu/consensus/raft_consensus.cc File src/kudu/consensus/raft_consensus.cc: PS2, Line 1559: client_cb No need to plumb in a callback if this is not an asynchronous method PS2, Line 1560: error_code Would be nice to use this Line 1600: consensus_req.set_caller_uuid(leader_uuid); This should be the client UUID or a special value to indicate that this was initiated by a tool Line 1601: consensus_req.set_caller_term(current_term); Use current term + 1 Line 1603: consensus_req.set_committed_index(last_op_id.index() + 1); Don't increment the committed index; leave it at whatever value it previously was PS2, Line 1613: last_op_id.index() + 1 This is repeated a few times in this function. Let's extract a variable to hold this value PS2, Line 1615: time_manager_->GetSafeTime().value() Hmm. I would like David's input on this http://gerrit.cloudera.org:8080/#/c/6066/2/src/kudu/consensus/time_manager.cc File src/kudu/consensus/time_manager.cc: Line 121 I don't think you need to remove 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: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dinesh Bhat <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy <[email protected]> Gerrit-Reviewer: Tidy Bot Gerrit-HasComments: Yes
