jolshan commented on code in PR #12845: URL: https://github.com/apache/kafka/pull/12845#discussion_r1028449377
########## core/src/main/scala/kafka/server/KafkaApis.scala: ########## @@ -1647,69 +1656,51 @@ class KafkaApis(val requestChannel: RequestChannel, } } - def handleJoinGroupRequest(request: RequestChannel.Request, requestLocal: RequestLocal): Unit = { - val joinGroupRequest = request.body[JoinGroupRequest] + private def makeGroupCoordinatorRequestContext( + request: RequestChannel.Request, + requestLocal: RequestLocal + ): GroupCoordinatorRequestContext = { + new GroupCoordinatorRequestContext( + request.context.header.data.requestApiVersion, + request.context.header.data.clientId, + request.context.clientAddress, + requestLocal.bufferSupplier + ) + } - // the callback for sending a join-group response - def sendResponseCallback(joinResult: JoinGroupResult): Unit = { - def createResponse(requestThrottleMs: Int): AbstractResponse = { - val responseBody = new JoinGroupResponse( - new JoinGroupResponseData() - .setThrottleTimeMs(requestThrottleMs) - .setErrorCode(joinResult.error.code) - .setGenerationId(joinResult.generationId) - .setProtocolType(joinResult.protocolType.orNull) - .setProtocolName(joinResult.protocolName.orNull) - .setLeader(joinResult.leaderId) - .setSkipAssignment(joinResult.skipAssignment) - .setMemberId(joinResult.memberId) - .setMembers(joinResult.members.asJava), - request.context.apiVersion - ) + def handleJoinGroupRequest( + request: RequestChannel.Request, + requestLocal: RequestLocal + ): CompletableFuture[Unit] = { Review Comment: I don't have a strong opinion on callback vs future (maybe a slight bias for me towards callbacks because I'm more familiar, but not a good reason to change the design) but I do think it makes sense to be consistent. If we plan on using futures in the new controller interface then we can go ahead with using futures here too. -- 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