Mathias Herberts created KAFKA-4040: ---------------------------------------
Summary: 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)