chia7712 commented on code in PR #17958: URL: https://github.com/apache/kafka/pull/17958#discussion_r1865903452
########## clients/src/main/resources/common/message/ConsumerGroupDescribeResponse.json: ########## @@ -69,7 +70,9 @@ { "name": "Assignment", "type": "Assignment", "versions": "0+", "about": "The current assignment." }, { "name": "TargetAssignment", "type": "Assignment", "versions": "0+", - "about": "The target assignment." } + "about": "The target assignment." }, + { "name": "IsClassic", "type": "bool", "versions": "1+", "ignorable": true, + "about": "True for classic member." } Review Comment: In the RPC layer, everything should function correctly since the new broker does not return the `IsClassic` field for version 0. The primary issue lies in how the Java client distinguishes between "false" and "unknown" values, as it always defaults to "false." To address this, we could add a `ConsumerGroupDescribeResponse#version` method that returns the response version. This would allow the caller to differentiate between "false" and "unknown" based on the version. Additionally, the `MemberDescription#isClassic` field also needs to differentiate between "false" and "unknown." One possible solution is to use `Optional<Boolean>` instead. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org