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

Reply via email to