Ismael Juma created KAFKA-5238: ---------------------------------- Summary: 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
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 (v6.3.15#6346)