[ https://issues.apache.org/jira/browse/KAFKA-2397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14957550#comment-14957550 ]
Jay Kreps commented on KAFKA-2397: ---------------------------------- Dunno if we closed the loop on the approach. [~onurkaraman] Yeah the pro of the TCP approach is that all clients get it automatically even in hard app failure cases. The downside is that the implementation on the server side is more involved and there is some risk of unnecessary rebalances if there are situations that cause the connection to be lost. Another aspect is the ability to implement a shutdown without rebalance for quick restarts. This is particularly useful for stream processing where there is associated state that takes work to rebuild. I don't think this can be implemented easily with the TCP connection approach. I think I'm on board with doing it explicitly. I think the other question is whether it is cleaner to add a field to the ack or make a custom request. I don't have a strong opinion on that though in general I think fewer requests is better. > 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.9.0.0 > > > 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)