dajac opened a new pull request, #23732:
URL: https://github.com/apache/kafka/pull/23732
The uniform assignor balances the total number of partitions per member
but not the partitions of each topic: with homogeneous subscriptions, a
member can get all the partitions of a topic while the others get none
of them. uniform2, the next version of the uniform assignor, spreads
every topic over its subscribers. It reads the group, decides how many
partitions of every topic each member gets in three steps, keep, hand
out and balance, and then places the partitions. This stack adds it
one step at a time, and the assignor itself last.
This patch adds the model of the group that every step reads:
- `GroupModel` numbers the members in member id order and the topics in
topic id order, so that every decision depends on the content of the
input only. It drops the topics that do not exist, and groups the
members with the same subscription into cohorts.
- `CurrentAssignment` reads the owner of every partition. What the
members hold beyond that is stale: partitions of topics they do not
subscribe to or which no longer exist, partitions beyond the
partition count, and empty sets.
- `AssignmentTestUtils` builds groups for the tests.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]