[ 
https://issues.apache.org/jira/browse/KAFKA-4040?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15421131#comment-15421131
 ] 

Vahid Hashemian commented on KAFKA-4040:
----------------------------------------

[~herberts] Please see 
[KIP-49|https://cwiki.apache.org/confluence/display/KAFKA/KIP-49+-+Fair+Partition+Assignment+Strategy]
 and 
[KIP-54|https://cwiki.apache.org/confluence/display/KAFKA/KIP-54+-+Sticky+Partition+Assignment+Strategy]
 that address this issue, and let us know if you notice any round robin 
drawback not addressed in them.

> 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
>    Affects Versions: 0.8.2.2
>            Reporter: Mathias Herberts
>
> 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
(v6.3.4#6332)

Reply via email to