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)