bbejeck commented on code in PR #17781: URL: https://github.com/apache/kafka/pull/17781#discussion_r1847373686
########## clients/src/main/java/org/apache/kafka/clients/consumer/internals/AsyncKafkaConsumer.java: ########## @@ -641,17 +641,15 @@ private void updateGroupMetadata(final Optional<Integer> memberEpoch, final Stri @Override public void registerMetricForSubscription(KafkaMetric metric) { - if (clientTelemetryReporter.isPresent()) { - ClientTelemetryReporter reporter = clientTelemetryReporter.get(); - reporter.metricChange(metric); + if (!metrics().containsKey(metric.metricName())) { + clientTelemetryReporter.ifPresent(reporter -> reporter.metricChange(metric)); } } @Override public void unregisterMetricFromSubscription(KafkaMetric metric) { - if (clientTelemetryReporter.isPresent()) { - ClientTelemetryReporter reporter = clientTelemetryReporter.get(); - reporter.metricRemoval(metric); + if (!metrics().containsKey(metric.metricName())) { + clientTelemetryReporter.ifPresent(reporter -> reporter.metricRemoval(metric)); Review Comment: `metrics()` returns the built-in consumer metrics - I probably wasn't clear enough in my comment above. The guard condition prevents from removing built-in consumer metrics -- 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