Actually an intermediate consumer would be useful for new topics, in which case 
it would probably need to watch the relevant zookeeper nodes. I could see a 
number of use cases where consumption strategies across a consumer group would 
deviate from the resident partition balancing algorithm. Perhaps this starts to 
get into Samza territory.


On Sep 11, 2013, at 1:14 PM, Joel Koshy <jjkosh...@gmail.com> wrote:

> Correct - but since you wanted sticky allocation rebalancing wouldn't
> really be necessary.
> 
> Thanks,
> 
> Joel
> 
> On Wed, Sep 11, 2013 at 10:08 AM, Kam Kasravi <kamkasr...@yahoo.com> wrote:
>> Thanks Joel. Just to be sure - SimpleConsumer (or an IntermediateConsumer as 
>> suggested below) does not join in partition rebalancing when another 
>> consumer in it's group joins or a new broker joins or a new topic is created?
>> 
>> 
>> ________________________________
>> From: Joel Koshy <jjkosh...@gmail.com>
>> To: "users@kafka.apache.org" <users@kafka.apache.org>; Kam Kasravi 
>> <kamkasr...@yahoo.com>
>> Sent: Tuesday, September 10, 2013 4:36 PM
>> Subject: Re: consumer partition rebalancing
>> 
>> 
>>>        * Assuming 1) theconsumerdoesn'tcontrolthe partition allocation 
>>> within a topic and 2) theconstraintthat a single consumer C(i) within a 
>>> consumer group C(g) must be the only reader of that partition:
>>>        * Are there ways to scale partition consumption if C(i) cannot keep 
>>> up?
>> 
>> To some degree - by either reducing the number of streams that C(i) is
>> configured with; or by removing it altogether.
>> 
>>>        * A way to designate particular consumers should consume particular 
>>> partitions based on consumer capability (similar to container allocation in 
>>> YARN)?
>>>        * A way to designate sticky consumer / partition allocation so that 
>>> a new consumer C(j) or new broker B(k) or new topic T(l) does not cause 
>>> C(i) to lose particular partitions during rebalancing?
>> 
>> Right now, no. I think what you may be effectively suggesting is to
>> support some form of pluggable logic for partition ownership which
>> should work as long as it is consistent across all consumer instances.
>> However, a designated assignment list could be achieved by using
>> SimpleConsumer - although you would then need to write a little code
>> to react to leader changes. (We currently don't have a
>> intermediate-level consumer - i.e., a consumer that can be designated
>> to consume from a given partition and automatically react to leader
>> changes.)
>> 
>> Joel

Reply via email to