Mike Percy has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/8644 )
Change subject: KUDU-1097 (patch 5a): Implement a bulk config change API ...................................................................... KUDU-1097 (patch 5a): Implement a bulk config change API A "bulk" config change API is required to support simultaneously modifying attributes on more than one peer in a config, such as when we want to move a replica from one location to another. The "traditional" config change API has been re-routed through the bulk API so that we get some basic test coverage from the existing tests. In addition to adding the bulk API, the following changes were made to the MODIFY_PEER config change API which is currently unused: * The 'member_type' field is no longer required to be modified by a MODIFY_PEER config change operation, but *something* still must be modified to allow it to go through. This is enforced by checking the "before" and "after" RaftPeerPB instances with MessageDifferencer. * We now allow to modifying the leader replica's attributes (but still not its 'member_type' field). A functional test was added to verify the new functionality of the bulk change API. Change-Id: I928a1622d48049c9ad3223b76549a2822bccc30c Reviewed-on: http://gerrit.cloudera.org:8080/8644 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/consensus/consensus.proto M src/kudu/consensus/raft_consensus.cc M src/kudu/consensus/raft_consensus.h M src/kudu/integration-tests/cluster_itest_util.cc M src/kudu/integration-tests/cluster_itest_util.h M src/kudu/integration-tests/raft_config_change-itest.cc M src/kudu/integration-tests/raft_consensus_nonvoter-itest.cc M src/kudu/tserver/tablet_service.cc M src/kudu/tserver/tablet_service.h 9 files changed, 538 insertions(+), 90 deletions(-) Approvals: Kudu Jenkins: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/8644 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I928a1622d48049c9ad3223b76549a2822bccc30c Gerrit-Change-Number: 8644 Gerrit-PatchSet: 12 Gerrit-Owner: Mike Percy <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Mike Percy <[email protected]> Gerrit-Reviewer: Tidy Bot
