...
Code Block | ||||
---|---|---|---|---|
| ||||
public static final STRING MEMBER_ID = "member.id"; // default empty String
|
...
In the join request v4, it is user's responsibility to assign unique member id for each consumers. This could be in service discovery hostname, unique IP address, etc. The downside is that if user configured the member id wrongly, there could be multiple consumers with the same member id, which invalidates the consumption balance and triggers unpredictable behaviors. We could think of basic validation here, but considering this is an advanced config, we will only rely on user providing unique member id in this KIP.
Also notice that we have a conflicting internal config called LEAVE_GROUP_ON_CLOSE_CONFIG which decides whether a consumer should send a leave group request upon going offline. This would make the effectiveness of this KIP less because after leaving the consumer group, the broker will identify the same member as a new member which would still trigger a lot of rebalances. We will set this internal config default to false.
Code Block | ||
---|---|---|
| ||
.defineInternal(LEAVE_GROUP_ON_CLOSE_CONFIG,
Type.BOOLEAN,
false,
Importance.LOW) |
Compatibility, Deprecation, and Migration Plan
...