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

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

[~hachikuji] My primary objection to that plan is that it might lead to us 
maintaining more complicated code if we support leave group via two mechanisms 
instead of one, and it's also more stuff the user has to understand.

On the other hand, I can see a case for supporting both: explicit leave group 
via a message is great for forcing the coordinator to trigger a rebalance ASAP, 
whereas an implicit leave group is a nice way to allow for fast reconnect in 
the case of a network hiccup without affecting membership/requiring another 
round but also allows the broker to boot the consumer from the group without 
waiting for the full session interval (and the client can also take this into 
account, stopping consumption after a heartbeat interval during which it cannot 
connect rather than waiting for a full session timeout). But since I'm not 
really clear on when we'd see such network hiccups that wouldn't be masked by 
TCP anyway, I'm not sure this is worth the more complicated model.

It does sound like it's probably complicated -- or at least a lot of code 
changes -- to make the lower level connection management and higher level 
protocol stuff coordinate. Since this issue actually slows things down for me 
on a daily basis now, I think the explicit leave group would make sense to get 
committed.

> leave group request
> -------------------
>
>                 Key: KAFKA-2397
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2397
>             Project: Kafka
>          Issue Type: Sub-task
>          Components: consumer
>            Reporter: Onur Karaman
>            Assignee: Onur Karaman
>            Priority: Minor
>             Fix For: 0.8.3
>
>
> Let's say every consumer in a group has session timeout s. Currently, if a 
> consumer leaves the group, the worst case time to stabilize the group is 2s 
> (s to detect the consumer failure + s for the rebalance window). If a 
> consumer instead can declare they are leaving the group, the worst case time 
> to stabilize the group would just be the s associated with the rebalance 
> window.
> This is a low priority optimization!



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

Reply via email to