AndrewJSchofield commented on code in PR #14767: URL: https://github.com/apache/kafka/pull/14767#discussion_r1409788411
########## core/src/main/scala/kafka/server/KafkaApis.scala: ########## @@ -3697,16 +3698,60 @@ class KafkaApis(val requestChannel: RequestChannel, CompletableFuture.completedFuture[Unit](()) } - // Just a place holder for now. def handleGetTelemetrySubscriptionsRequest(request: RequestChannel.Request): Unit = { - requestHelper.sendMaybeThrottle(request, request.body[GetTelemetrySubscriptionsRequest].getErrorResponse(Errors.UNSUPPORTED_VERSION.exception)) - CompletableFuture.completedFuture[Unit](()) + val subscriptionRequest = request.body[GetTelemetrySubscriptionsRequest] + + if (ClientMetricsReceiverPlugin.instance.isEmpty) { + info("Received get telemetry client request, no metrics receiver plugin configured or running with ZK") + requestHelper.sendResponseMaybeThrottle(request, requestThrottleMs => + subscriptionRequest.getErrorResponse(requestThrottleMs, Errors.UNSUPPORTED_VERSION.exception)) Review Comment: We can wait for @junrao to weigh in, but I think the handling of `APIVersions` should be as written in the KIP. The whole point is that a client can tell from the `APIVersionsResponse` that there is no need to get a telemetry subscription. For a cluster without client telemetry enabled, there are no additional RPCs when the client connects. With this PR, a 3.7 client will make extra RPCs even when client telemetry is not enabled. This should be avoided if at all possible. -- 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