Gabriella Lotz has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/24525


Change subject: KUDU-3789 auto_rebalancer: reliably clear replace marker after 
failed moves
......................................................................

KUDU-3789 auto_rebalancer: reliably clear replace marker after failed moves

When a rebalancing move fails, we clear the source replica's replace
marker so the master stops trying to replace it. The problem is we only
tried once, and right after a failed move the leader is usually busy with
other config changes (promoting the new NON_VOTER, stepping down, a
leader transfer), so that single attempt often gets rejected and the
marker is left set forever.

Now we retry instead of giving up: a couple of quick inline attempts, and
if those still don't land, the move is queued and retried on every
rebalancer loop iteration, even when auto-rebalancing is disabled, since
the markers still need to converge. NotFound and InvalidArgument are
treated as already-cleared.

Also reset the per-round move counters each iteration so tests don't read
a stale count after a skipped round, and update
TestRemoveReplaceFlagIfMoveFails to only check the leader's view of the
config and to tolerate slower TSAN timing.

Change-Id: Ia47698207612252bca3ec70fc090a37bd3f87809
---
M src/kudu/master/auto_rebalancer-test.cc
M src/kudu/master/auto_rebalancer.cc
M src/kudu/master/auto_rebalancer.h
3 files changed, 170 insertions(+), 44 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia47698207612252bca3ec70fc090a37bd3f87809
Gerrit-Change-Number: 24525
Gerrit-PatchSet: 1
Gerrit-Owner: Gabriella Lotz <[email protected]>

Reply via email to