Skip to content

Conversation

jiafu1115
Copy link
Contributor

@jiafu1115 jiafu1115 commented Oct 12, 2025

Hi Team:

Currently, the AdminClient’s describeConsumerGroups API returns a
MemberDescription that does not include rack information, even though
the underlying ConsumerGroupDescribeResponse protocol already supports a
rackId field. This causes users to be unable to retrieve member rack
information through the Admin API.

Rack information is crucial for:

Monitoring and visualization tools > Operational analysis of rack
distribution > Diagnosing rack-aware assignment issues

In addition, StreamsGroupMemberDescription already includes the rackId,
so adding it here would make the behavior more consistent.

BTW, I have currently implemented our AZ/Rack analysis using a
workaround — passing the rack information into the clientId field and
parsing it afterward.

kafkaConsumerConfig.customConfig(ConsumerConfig.CLIENT_ID_CONFIG,
generateClientIdWithRack(ip, rack));

image

So I propose this change with tiny code change to support this feature.

Thanks for review!

@github-actions github-actions bot added triage PRs from the community clients small Small PRs labels Oct 12, 2025
@AndrewJSchofield AndrewJSchofield added the kip Requires or implements a KIP label Oct 12, 2025
@AndrewJSchofield
Copy link
Member

Hi @jiafu1115 . Thanks for the PR. This would be a tiny change to a public interface and that means it needs an accompanying KIP. It would be a small KIP and not at all controversial I think. Would you like to create the KIP or would you like me to do this? Also, note that MemberDescription is also used by share groups, and those too are able to fill in the rack ID using information already present in the protocol response.

@jiafu1115
Copy link
Contributor Author

Hi @jiafu1115 . Thanks for the PR. This would be a tiny change to a public interface and that means it needs an accompanying KIP. It would be a small KIP and not at all controversial I think. Would you like to create the KIP or would you like me to do this? Also, note that MemberDescription is also used by share groups, and those too are able to fill in the rack ID using information already present in the protocol response.

Hi. @AndrewJSchofield Thanks for your review and reminder. I will create one KIP for the workflow and check the shared group code according to your suggestion.

@github-actions github-actions bot added tools and removed small Small PRs labels Oct 13, 2025
@jiafu1115
Copy link
Contributor Author

@AndrewJSchofield Update: KIP https://cwiki.apache.org/confluence/display/KAFKA/KIP-1227%3A+Expose+Rack+ID+in+MemberDescription+and+ShareMemberDescription created and I also updated the change for share group. We can wait one week before the vote to collect feedbacks though it is one tiny change.

@AndrewJSchofield AndrewJSchofield self-requested a review October 13, 2025 09:31
@AndrewJSchofield AndrewJSchofield added ci-approved and removed triage PRs from the community labels Oct 13, 2025
@github-actions github-actions bot added the small Small PRs label Oct 13, 2025
@jiafu1115 jiafu1115 changed the title KAFKA-19784: Expose Rack ID in MemberDescription KAFKA-19784: Expose rack ID in MemberDescription and ShareMemberDescription Oct 13, 2025
@jiafu1115
Copy link
Contributor Author

Update: I fixed the compile/check style issues and squashed the commits.
BTW, it seems the test is flaky, regardless of the changes in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-approved clients kip Requires or implements a KIP small Small PRs tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants