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

ASF GitHub Bot commented on KAFKA-2435:
---------------------------------------

GitHub user noslowerdna opened a pull request:

    https://github.com/apache/kafka/pull/146

    KAFKA-2435: Fair consumer partition assignment strategy

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/noslowerdna/kafka KAFKA-2435

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/146.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #146
    
----
commit 080e265f742e1e23f84b86c7d99c45dce807d7c8
Author: Andrew Olson <aols...@cerner.com>
Date:   2015-08-17T15:03:13Z

    KAFKA-2435: Fair consumer partition assignment strategy

----


> More optimally balanced partition assignment strategy
> -----------------------------------------------------
>
>                 Key: KAFKA-2435
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2435
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Andrew Olson
>            Assignee: Andrew Olson
>         Attachments: KAFKA-2435.patch
>
>
> While the roundrobin partition assignment strategy is an improvement over the 
> range strategy, when the consumer topic subscriptions are not identical 
> (previously disallowed but will be possible as of KAFKA-2172) it can produce 
> heavily skewed assignments. As suggested 
> [here|https://issues.apache.org/jira/browse/KAFKA-2172?focusedCommentId=14530767&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14530767]
>  it would be nice to have a strategy that attempts to assign an equal number 
> of partitions to each consumer in a group, regardless of how similar their 
> individual topic subscriptions are. We can accomplish this by tracking the 
> number of partitions assigned to each consumer, and having the partition 
> assignment loop assign each partition to a consumer interested in that topic 
> with the least number of partitions assigned. 
> Additionally, we can optimize the distribution fairness by adjusting the 
> partition assignment order:
> * Topics with fewer consumers are assigned first.
> * In the event of a tie for least consumers, the topic with more partitions 
> is assigned first.
> The general idea behind these two rules is to keep the most flexible 
> assignment choices available as long as possible by starting with the most 
> constrained partitions/consumers.



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

Reply via email to