Corrected Manager.balanceTablets() issues after 4709 was merged #4733
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #4709 we attempted to balance the root and metadata tables before the user tables. Upon merging this left
WaitForBalanceIT
,BalanceInPresenceOfOfflineTableIT
,SimpleBalancerFairnessIT
, andRegexGroupBalanceIT
in a broken state. These tests were failing in different ways, but it all boiled down to the fact that the inputs to the balancer were not being partitioned according to the level that we are trying to balance. For example, we were passing all tserver and tablet information to the balancer when trying to balance the root table, and the balancer would return migrations for non-root tables. This commit modifies the Manager to partition the inputs to the balancer, which returns these tests to a passing state.