[ https://issues.apache.org/jira/browse/KAFKA-5238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17676681#comment-17676681 ]
Edoardo Comar commented on KAFKA-5238: -------------------------------------- Retrying with https://github.com/apache/kafka/pull/13113 many years after the old PR, as this patch has been adopted and used for more than 5 years in my organisation, where before this we were able to detect metrics leaking in long lived clusters. > BrokerTopicMetrics can be recreated after topic is deleted > ---------------------------------------------------------- > > Key: KAFKA-5238 > URL: https://issues.apache.org/jira/browse/KAFKA-5238 > Project: Kafka > Issue Type: Bug > Reporter: Ismael Juma > Assignee: Edoardo Comar > Priority: Major > > As part of KAFKA-3258, we added code to remove metrics during topic deletion. > This works fine as long as there are no fetch requests in the purgatory. If > there are, however, we'll recreate the metrics when we call > `ReplicaManager.appendToLocalLog`. > This can be reproduced by updating > MetricsTest.testBrokerTopicMetricsUnregisteredAfterDeletingTopic() in the > following way: > {code} > @Test > def testBrokerTopicMetricsUnregisteredAfterDeletingTopic() { > val topic = "test-broker-topic-metric" > AdminUtils.createTopic(zkUtils, topic, 2, 1) > // Produce a few messages and consume them to create the metrics > TestUtils.produceMessages(servers, topic, nMessages) > TestUtils.consumeTopicRecords(servers, topic, nMessages) > assertTrue("Topic metrics don't exist", topicMetricGroups(topic).nonEmpty) > assertNotNull(BrokerTopicStats.getBrokerTopicStats(topic)) > AdminUtils.deleteTopic(zkUtils, topic) > TestUtils.verifyTopicDeletion(zkUtils, topic, 1, servers) > Thread.sleep(10000) > assertEquals("Topic metrics exists after deleteTopic", Set.empty, > topicMetricGroups(topic)) > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)