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

Reply via email to