Gabriella Lotz has uploaded this change for review. ( 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 --- 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, 109 insertions(+), 15 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/55/23755/1 -- 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: newchange Gerrit-Change-Id: Ic1b73045719dc69cc9e3353d318b7381f144a20d Gerrit-Change-Number: 23755 Gerrit-PatchSet: 1 Gerrit-Owner: Gabriella Lotz <[email protected]>
