[ https://issues.apache.org/jira/browse/KAFKA-14509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17748216#comment-17748216 ]
Max Riedel commented on KAFKA-14509: ------------------------------------ Hey [~dajac], I started implementing the request/response schemas and classes and have several questions: # I changed the ConsumerGroupDescribeResponse.json schema compared to what is stated [here|[https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupDescribeAPI].] I think the changes are necessary to make it compile but I'm not entirely sure if I understood everything correctly. # How do I set errorCode in ConsumerGroupDescribeRequest correctly? Other Request objects have a field errorCode, while in this case we have a list of DescribedGroup which can have individual errorCodes. Without setting this correctly I can't make testSerialization test in RequestResponseTest.java work. # This also makes errorCounts in ConsumerGroupDescribeResponse more complicated and I'm not sure if I did the right thing. You can have a look into my first draft [here|[https://github.com/riedelmax/kafka/commit/e1818eee1347743ac71237e1db16de57231dfc11]|https://github.com/riedelmax/kafka/commit/e1818eee1347743ac71237e1db16de57231dfc11]. Please let us discuss my questions soon :) > Add ConsumerGroupDescribe API > ----------------------------- > > Key: KAFKA-14509 > URL: https://issues.apache.org/jira/browse/KAFKA-14509 > Project: Kafka > Issue Type: Sub-task > Reporter: David Jacot > Assignee: Max Riedel > Priority: Major > > The goal of this task is to implement the ConsumerGroupDescribe API as > described > [here|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-ConsumerGroupDescribeAPI]; > and to implement the related changes in the admin client as described > [here|https://cwiki.apache.org/confluence/display/KAFKA/KIP-848%3A+The+Next+Generation+of+the+Consumer+Rebalance+Protocol#KIP848:TheNextGenerationoftheConsumerRebalanceProtocol-Admin#describeConsumerGroups]. > On the server side, this mainly requires the following steps: > # The request/response schemas must be defined (see > ListGroupsRequest/Response.json for an example); > # Request/response classes must be defined (see > ListGroupsRequest/Response.java for an example); > # The API must be defined in KafkaApis (see > KafkaApis#handleDescribeGroupsRequest for an example); > # The GroupCoordinator interface (java file) must be extended for the new > operations. > # The new operation must be implemented in GroupCoordinatorService (new > coordinator in Java) whereas the GroupCoordinatorAdapter (old coordinator in > Scala) should just reject the request. > We could probably do 1) and 2) in one pull request and the remaining ones in > another. > On the admin client side, this mainly requires the followings steps: > * Define all the new java classes as defined in the KIP. > * Add the new API to KafkaAdminClient class. -- This message was sent by Atlassian Jira (v8.20.10#820010)