Hello Will Berkeley, Kudu Jenkins, Andrew Wong,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/12324

to look at the new patch set (#2).

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 no-progress issue
if a tablet's Raft configuration with the source replica being
a leader eventually gets an extra voter replica due to multiple
rebalancer tools running concurrently.

Prior to this patch, once a tablet with the target replication factor
of 3 had gotten the following configuration, neither of concurrent
rebalancer tools could make any forward progress:

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

This patch introduces a new semantic for a move operation
for the intra-location rebalancing, where an empty (or absent)
UUID of the target tserver means 'just remove the source replica'.
Also, an extra logic has been introduced into the CheckCompleteMove()
utility function to handle the new replica move semantic described
above.  With that, when the rebalancer observes a tablet's
configuration with more voter replicas than the tablet's target
replication factor, it schedules an operation to remove the source
replica, which is perfectly aligned with the nature of the greedy
rebalancing algorithm.

These new provisions help to resolve the no-progress issue
described 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/2
--
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: newpatchset
Gerrit-Change-Id: If5e28f4b644b1549549f50a322c1d7ef376122d3
Gerrit-Change-Number: 12324
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Will Berkeley <[email protected]>

Reply via email to