[ https://issues.apache.org/jira/browse/KAFKA-3632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15336852#comment-15336852 ]
ASF GitHub Bot commented on KAFKA-3632: --------------------------------------- GitHub user hachikuji opened a pull request: https://github.com/apache/kafka/pull/1518 KAFKA-3632; remove fetcher metrics on shutdown and leader migration You can merge this pull request into a Git repository by running: $ git pull https://github.com/hachikuji/kafka port-kafka-3632-to-0.9 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/1518.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1518 ---- commit a8edbed8220941e2df06c4f333262fe40d49bb9b Author: Jason Gustafson <ja...@confluent.io> Date: 2016-05-04T19:10:41Z KAFKA-3632; remove fetcher metrics on shutdown and leader migration Author: Jason Gustafson <ja...@confluent.io> Reviewers: Ismael Juma <ism...@juma.me.uk> Closes #1312 from hachikuji/KAFKA-3632 ---- > ConsumerLag metrics persist after partition migration > ----------------------------------------------------- > > Key: KAFKA-3632 > URL: https://issues.apache.org/jira/browse/KAFKA-3632 > Project: Kafka > Issue Type: Bug > Components: core > Affects Versions: 0.8.2.2, 0.9.0.1 > Environment: JDK 1.8, Linux > Reporter: Brian Lueck > Assignee: Jason Gustafson > Priority: Minor > Fix For: 0.10.0.0 > > > When a partition is migrated away from a broker, the ConsumerLag metric for > the topic/partition gets 'stuck' at the current value. The only way to remove > the metric is to restart the broker. > This appears to be because in AbstractFetcherThread.scala there is no way of > removing a metric. See... > {code} > class FetcherLagStats(metricId: ClientIdAndBroker) { > private val valueFactory = (k: ClientIdTopicPartition) => new > FetcherLagMetrics(k) > val stats = new Pool[ClientIdTopicPartition, > FetcherLagMetrics](Some(valueFactory)) > def getFetcherLagStats(topic: String, partitionId: Int): FetcherLagMetrics = > { > stats.getAndMaybePut(new ClientIdTopicPartition(metricId.clientId, topic, > partitionId)) > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)