[ 
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)

Reply via email to