Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/23755 )

Change subject: auto_rebalancer: enforce max_moves_per_server per tserver
......................................................................

auto_rebalancer: enforce max_moves_per_server per tserver

Previously, auto_rebalancing_max_moves_per_server was enforced
globally, allowing individual tservers to temporarily exceed the
limit. This could disrupt workloads on those servers.

Implement per-tserver move tracking with a moves_per_tserver_ map
that is updated when moves are scheduled in ExecuteMoves() and
decremented when they complete in CheckReplicaMovesCompleted().
GetMovesUsingRebalancingAlgo() now checks per-tserver limits before
scheduling moves.

Also fix TestMaxMovesPerServer flakiness by using ASSERT_EVENTUALLY
to handle race conditions during metric sampling, and verify limits
per-tserver in addition to aggregate.
Disabled leader rebalancing during the test to prevent interference,
as the test only verifies replica move limits.

Addresses TODO at auto_rebalancer.cc:338.

Tested auto_rebalancer-test.cc by running it a 1000 times in debug
mode on dist-test and all tests were successful.

Change-Id: Ic1b73045719dc69cc9e3353d318b7381f144a20d
Reviewed-on: http://gerrit.cloudera.org:8080/23755
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Alexey Serbin <[email protected]>
---
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, 119 insertions(+), 16 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved; Verified

--
To view, visit http://gerrit.cloudera.org:8080/23755
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic1b73045719dc69cc9e3353d318b7381f144a20d
Gerrit-Change-Number: 23755
Gerrit-PatchSet: 6
Gerrit-Owner: Gabriella Lotz <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Gabriella Lotz <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)

Reply via email to