Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/10920


Change subject: [tools] sanity check for ScheduleReplicaMove()
......................................................................

[tools] sanity check for ScheduleReplicaMove()

This change introduces a couple of improvements into the implementation
of the kudu::tools::ScheduleReplicaMove() function, used by the
kudu CLI tool: 'kudu tablet change_config move_replica' and
'kudu cluster rebalance' sub-commands:

  * use CAS semantics when changing tablet Raft configuration
  * avoid setting the REPLACE attribute if it's set already

The former protects against unexpected Raft configuration changes
in the middle.  The latter helps in situations when a configuration
change initiated by prior run of the rebalancing tool failed at later
stages -- with this change, there is no need in re-setting the
source replica attributes separately.

This changelist does not add corresponding test since already existing
ConcurrentRebalancersTest.TwoConcurrentRebalancers scenario provides
enough coverage, IMO.  As a result of this change, the test scenario
became more stable.

Change-Id: Ie311b4bb2dbe3e5f1e86cb1364039b71d7c08019
---
M src/kudu/tools/kudu-admin-test.cc
M src/kudu/tools/tool_replica_util.cc
2 files changed, 35 insertions(+), 10 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/20/10920/1
--
To view, visit http://gerrit.cloudera.org:8080/10920
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie311b4bb2dbe3e5f1e86cb1364039b71d7c08019
Gerrit-Change-Number: 10920
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <[email protected]>

Reply via email to