You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Ewen Cheslack-Postava (JIRA)" <ji...@apache.org> on 2016/12/30 05:30:58 UTC

[jira] [Commented] (KAFKA-2019) Old consumer RoundRobinAssignor clusters by consumer

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

Ewen Cheslack-Postava commented on KAFKA-2019:
----------------------------------------------

[~jeffwidman] I updated the title to clarify. It may make sense to start tracking new consumer stuff via a different component so they can be easily differentiated (although I don't like the idea of permanently labelling it "new consumer").

re: merging, agreed, it seems unlikely at this point since nobody has pushed for it to get merged for the past 18 months, although it would be completely reasonable as a new class to avoid compatibility concerns.

> Old consumer 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)