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

Jiangjie Qin commented on KAFKA-2019:
-------------------------------------

Yeah, you are right. I somehow thought the partition will be hashed to a 
particular thread. Yes, hash the thread id will have no worse balance than 
current round robin. Currently we are hashing over topic partition, maybe 
changing it to only hash thread id is enough, so we don't need to hash both.

> RoundRobinAssignor clusters by consumer
> ---------------------------------------
>
>                 Key: KAFKA-2019
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2019
>             Project: Kafka
>          Issue Type: Bug
>          Components: consumer
>            Reporter: Joseph Holsten
>            Assignee: Neha Narkhede
>            Priority: Minor
>         Attachments: 0001-sort-consumer-thread-ids-by-hashcode.patch, 
> KAFKA-2019.patch
>
>
> When rolling out a change today, I noticed that some of my consumers are 
> "greedy", taking far more partitions than others.
> The cause is that the RoundRobinAssignor is using a list of ConsumerThreadIds 
> sorted by toString, which is {{ "%s-%d".format(consumer, threadId)}}. This 
> causes each consumer's threads to be adjacent to each other.
> One possible fix would be to define ConsumerThreadId.hashCode, and sort by 
> that.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to