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.
- 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.
- 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";