FrankYang0529 commented on code in PR #19493: URL: https://github.com/apache/kafka/pull/19493#discussion_r2086921570
########## core/src/main/scala/kafka/server/KafkaApis.scala: ########## @@ -2874,16 +2874,55 @@ class KafkaApis(val requestChannel: RequestChannel, } } - def handleListClientMetricsResources(request: RequestChannel.Request): Unit = { - val listClientMetricsResourcesRequest = request.body[ListClientMetricsResourcesRequest] + private def handleListConfigResources(request: RequestChannel.Request): Unit = { + val listConfigResourcesRequest = request.body[ListConfigResourcesRequest] if (!authHelper.authorize(request.context, DESCRIBE_CONFIGS, CLUSTER, CLUSTER_NAME)) { - requestHelper.sendMaybeThrottle(request, listClientMetricsResourcesRequest.getErrorResponse(Errors.CLUSTER_AUTHORIZATION_FAILED.exception)) + requestHelper.sendMaybeThrottle(request, listConfigResourcesRequest.getErrorResponse(Errors.CLUSTER_AUTHORIZATION_FAILED.exception)) } else { - val data = new ListClientMetricsResourcesResponseData().setClientMetricsResources( - clientMetricsManager.listClientMetricsResources.stream.map( - name => new ClientMetricsResource().setName(name)).collect(Collectors.toList())) - requestHelper.sendMaybeThrottle(request, new ListClientMetricsResourcesResponse(data)) + val data = new ListConfigResourcesResponseData() + + if (listConfigResourcesRequest.onlySupportClientMetrics) { + // Version 0 only supports client metrics. Review Comment: For v0, it only supports client metrics and it cannot input resource type, so the `ListConfigResourcesRequest.data().resourceTypes()` is always empty. For v1, it only needs to get default supported resource types when the input is empty. These two versions all need to get default supported resource types when input is empty, so I change the function to `ListConfigResourcesRequest#defaultResourceTypes`. I think this move version-specific code into `ListConfigResourceRequest`. Thanks. -- 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