[ 
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)

Reply via email to