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


Change subject: [tools] KUDU-2557 fix flake in TwoConcurrentRebalancers test
......................................................................

[tools] KUDU-2557 fix flake in TwoConcurrentRebalancers test

This patch addresses KUDU-2557, fixing an issue where a tablet
Raft configuration with the source replica being a leader
eventually gets an extra voter replica due to multiple rebalancer
tools running concurrently.

For example, once a tablet with target replication factor of 3
got the following configuration, the rebalancers tool could not
make any forward progress:

  A (VL) REPLACE=true
  B (V)
  C (V)
  D (V)

This patch introduces a new semantic for a move operation
during intra-location rebalancing, where empty (or absent)
UUID of the target tserver means 'remove the source replica'.
In addition, an extra logic has been introduced into the
CheckCompleteMove() utility function to handle that new move
semantic described above.  With that, when the rebalancer
observes a tablet's configuration with more voter replicas
than the target replication factor, it schedules an operation
to remove the source replica.  These new provisions allows for
progress even in case of tablet configurations pictures above.

Change-Id: If5e28f4b644b1549549f50a322c1d7ef376122d3
---
M src/kudu/tools/ksck.cc
M src/kudu/tools/ksck.h
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/rebalancer.cc
M src/kudu/tools/tool_replica_util.cc
5 files changed, 71 insertions(+), 28 deletions(-)



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

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

Reply via email to