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