kafka-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harald Kirsch <harald.kir...@raytion.com>
Subject Re: Best approach to frequently restarting consumer process
Date Wed, 07 Dec 2016 09:38:30 GMT
With 'restart' I mean a 'let it crash' setup (as promoted by Erlang and 
Akka, e.g. 
http://doc.akka.io/docs/akka/snapshot/intro/what-is-akka.html). The 
consumer gets in trouble due to an OOM or a runaway computation or 
whatever that we want to preempt somehow. It crashes or gets killed 
externally.

So whether close() is called or not in the dying process, I don't know. 
But clearly the subscribe is called after a restart.

I understand that we are out of luck with this. We would have to 
separate the crashing part out into a different operating system 
process, but must keep the consumer running all time. :-(

Thanks for the insight
Harald

On 06.12.2016 19:26, Gwen Shapira wrote:
> Can you clarify what you mean by "restart"? If you call
> consumer.close() and consumer.subscribe() you will definitely trigger
> a rebalance.
>
> It doesn't matter if its "same consumer knocking", we already
> rebalance when you call consumer.close().
>
> Since we want both consumer.close() and consumer.subscribe() to cause
> rebalance immediately (and not wait for heartbeat), I don't think
> we'll be changing their behavior.
>
> Depending on why consumers need to restart, I'm wondering if you can
> restart other threads in your application but keep the consumer up and
> running to avoid the rebalances.
>
> On Tue, Dec 6, 2016 at 7:18 AM, Harald Kirsch <harald.kirsch@raytion.com> wrote:
>> We have consumer processes which need to restart frequently, say, every 5
>> minutes. We have 10 of them so we are facing two restarts every minute on
>> average.
>>
>> 1) It seems that nearly every time a consumer restarts  the group is
>> rebalanced. Even if the restart takes less than the heartbeat interval.
>>
>> 2) My guess is that the group manager just cannot know that the same
>> consumer is knocking at the door again.
>>
>> Are my suspicions (1) and (2) correct? Is there a chance to fix this such
>> that a restart within the heartbeat interval does not lead to a re-balance?
>> Would a well defined client.id help?
>>
>> Regards
>> Harald
>>
>
>
>

Mime
View raw message