Skip to content

Conversation

ekoontz
Copy link
Contributor

@ekoontz ekoontz commented Aug 9, 2017

This fixes #5 reported by @s905060 where a new assignment could not be generated in some cases. The issue happens because the reassignment algorithm overoptimize to avoid movement of replicas at the cost of entering a state where a replica cannot be assigned to any broker. This PR fixes the issue by retrying assignment by allowing an incrementally-increasing number of partition movement, until an assignment succeeds.

Eugene Koontz added 2 commits August 9, 2017 11:36
- modify getRackAwareAssignment(): wrap body within a 'while () { try {} .. catch {}}' with a decrementing initial node capacity.
- in assignOrphans(), sort candidates by current load rather than simply an unsorted list.
- add a new test 'testClusterRebalance'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Partition X could not be fully assigned!
1 participant