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

Reply via email to