DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
| Table of Contents |
|---|
Status
Current state: "Under Discussion" Accepted
Discussion thread: here
Vote thread: "Will update after discussion" here
JIRA: KAFKA-19784
PR: https://github.com/apache/kafka/pull/20691
...
However, when users call AdminClient.describeConsumerGroups(), the returned MemberDescription objects do not include this rack information. The rack ID is available in the wire protocol but is discarded during response processing in DescribeConsumerGroupsHandler.
The Similar case is for AdminClient.describeShareGroups(). The current status can be summarized as follows:
Class | Type of Group | contain RackId? | protocoal response contain rackId? |
MemberDescription | Consumer Group | ❌ | ✅ |
ShareMemberDescription | Share Group | ❌ | ✅ |
StreamsGroupMemberDescription | Streams Group | ✅ | ✅ |
Problem Statement
This limitation creates several issues:
...
kafkaConsumerConfig.customConfig(ConsumerConfig.CLIENT_ID_CONFIG, generateClientIdWithRack(ip, rack));
Public Interfaces
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
public class MemberDescription {
private final String memberId;
private final Optional<String> groupInstanceId;
private final Optional<String> rackId; // new field
private final String clientId;
//omit other codes
public Optional<String> rackId() { // new method
return rackId;
}
//omit other codes}
|
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
public class ShareMemberDescription{
private final String memberId;
private final Optional<String> rackId; // new field
private final String clientId;
//omit other codes
public Optional<String> rackId() { // new method
return rackId;
}
//omit other codes
}
|
...

