Bankim Bhavsar has uploaded this change for review. ( http://gerrit.cloudera.org:8080/16830
Change subject: [master][consensus] Procedure for copying system catalog ...................................................................... [master][consensus] Procedure for copying system catalog This change outlines procedure to copy system catalog for the newly added master using existing CLI tools and the master ChangeConfig RPC. - Flag --consensus_allow_status_msg_for_failed_peer must be turned on for existing masters. - Start the new master with --master_address_add_new_master=<new-master-hostport> and --master_addresses that contains itself and existing masters. - Invoke ChangeConfig to add the master. - If the new master is promoted to being a VOTER then following tablet copy steps can be skipped. - Shutdown the new master. - Delete the system catalog on the new master. - Copy the system catalog from the leader master to the new master. - Bring up the new master. - Verify the new master is promoted as VOTER. Bulk of the change is in the test code and involves refactoring to use common parts of the earlier postive test case. One functional change is in Raft consensus and adds the ability for the leader to send status only messages to the peer even if it's in FAILED_UNRECOVERABLE state. Without this change when the system catalog is copied externally the new master remains in FAILED_UNRECOVERABLE state and doesn't get promoted to being a VOTER despite the system catalog being up to date. This behavior is currently disabled by default and hidden under the --consensus_allow_status_msg_for_failed_peer flag. Change-Id: I142c1dec442ec72c38c5be9d62cdf270e441d6e3 (cherry picked from commit 0d97614c04a072391a643b54220ee1ac5a52a7d4) --- M src/kudu/consensus/consensus_queue.cc M src/kudu/master/dynamic_multi_master-test.cc 2 files changed, 262 insertions(+), 130 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/16830/1 -- To view, visit http://gerrit.cloudera.org:8080/16830 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I142c1dec442ec72c38c5be9d62cdf270e441d6e3 Gerrit-Change-Number: 16830 Gerrit-PatchSet: 1 Gerrit-Owner: Bankim Bhavsar <[email protected]>
