[
https://issues.apache.org/jira/browse/KAFKA-4040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ray Chiang updated KAFKA-4040:
------------------------------
Component/s: replication
> Round Robin Assignment does not create balanced assignments
> -----------------------------------------------------------
>
> Key: KAFKA-4040
> URL: https://issues.apache.org/jira/browse/KAFKA-4040
> Project: Kafka
> Issue Type: Improvement
> Components: replication
> Affects Versions: 0.10.0.0, 0.11.0.0, 1.0.0
> Reporter: Mathias Herberts
> Priority: Major
>
> The RoundRobinAssignor loops over the consumers in a circular manner,
> assigning each time N partitions to each consumer, where N is the number of
> consuming threads.
> In the following scenario, this creates a major imbalance in the assignment.
> single topic with 64 partitions, 4 consumers (A,B,C,D), each with 12 threads.
> The roundrobin strategy will allocate the partitions in the following manner:
> A: 24
> B: 16
> C: 12
> D: 12
> when the expected assignment would rather be 16 to each consumer.
> The reason for this imbalance is that instead of allocating a single
> partition to each consumer in sequence, the assignor attempts to assign 12
> partitions each time it is handed a consumer by the circularIterator, so it
> starts by assigning 12 to each of A,B,C and D, then it has 16 partitions left
> and it is handed A again, to which it assigns 12 partitions before moving to
> B to which 4 will be assigned.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)