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

Matthias J. Sax commented on KAFKA-6995:
----------------------------------------

One idea just coming to my mind might be, to check if a topology is stateful or 
stateless and automatically adjust the config accordingly. For "power users" 
they can still use the `KafkaClientSupplier" workaround if they really need to.

> Make config "internal.leave.group.on.close" public
> --------------------------------------------------
>
>                 Key: KAFKA-6995
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6995
>             Project: Kafka
>          Issue Type: Improvement
>          Components: consumer, streams
>            Reporter: Boyang Chen
>            Assignee: Boyang Chen
>            Priority: Major
>              Labels: needs-kip
>
> We are proposing to make the config "internal.leave.group.on.close" public. 
> The reason is that for heavy state application the sticky assignment won't 
> work because each stream worker will leave group during rolling restart, and 
> there is a possibility that some members are left and rejoined while others 
> are still awaiting restart. This would then cause multiple rebalance because 
> after the ongoing rebalance is done, we are expecting late members to rejoin 
> and move state from `stable` to `prepareBalance`. To solve this problem, 
> heavy state application needs to use this config to avoid member list update, 
> so that at most one rebalance will be triggered at a proper time when all the 
> members are rejoined during rolling restart. This should just be one line 
> change.
> Code here:
> * <code>internal.leave.group.on.close</code>
>  * Whether or not the consumer should leave the group on close. If set to 
> <code>false</code> then a rebalance
>  * won't occur until <code>session.timeout.ms</code> expires.
>  *
>  * <p>
>  * Note: this is an internal configuration and could be changed in the future 
> in a backward incompatible way
>  *
>  */
>  static final String LEAVE_GROUP_ON_CLOSE_CONFIG = 
> "internal.leave.group.on.close";



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to