-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/24196/#review49401
-----------------------------------------------------------


To be more precisely, in the old clients we have four stats classes:

1. ProducerTopicStats
2. ProducerRequestStats
3. ProducerStats
4. FetchRequestAndResponseStats
5. ConsumerTopicStats

Among them:

1) is accessed by Producer and DefaultEventHandler
2) is accessed by SyncProducer
3) is accessed by DefaultEventHandler
4) is accessed by SimpleConsumer
5) is accessed by ConsumerIterator, PartitionTopicInfo, and 
ZookeeperConsumerConnector

All of the above modules can have or already have a close() call. Since for all 
of the metrics, we create new instances through client-ids. And hence, upon 
closing all these above modules we can just pass in the client id string to the 
Stats factories to close the metrics, and by doing so we do not need to keep 
track of the metrics owner.

- Guozhang Wang


On Aug. 1, 2014, 9:26 p.m., Jiangjie Qin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/24196/
> -----------------------------------------------------------
> 
> (Updated Aug. 1, 2014, 9:26 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1567
>     https://issues.apache.org/jira/browse/KAFKA-1567
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> fix for metric memory leaking issue.
> 
> 
> Diffs
> -----
> 
>   core/src/main/scala/kafka/client/ClientUtils.scala 
> ce7ede3f6d60e756e252257bd8c6fedc21f21e1c 
>   core/src/main/scala/kafka/consumer/ConsumerFetcherManager.scala 
> b9e2bea7b442a19bcebd1b350d39541a8c9dd068 
>   core/src/main/scala/kafka/consumer/ConsumerIterator.scala 
> ac491b4da2583ef7227c67f5b8bc0fd731d705c3 
>   core/src/main/scala/kafka/consumer/ConsumerTopicStats.scala 
> ff5f470f7aa304917d3295fcb7702291ce7fe0b5 
>   core/src/main/scala/kafka/consumer/FetchRequestAndResponseStats.scala 
> 875eeeb73cba5bd034349f5e7b6e16dfdf544254 
>   core/src/main/scala/kafka/consumer/KafkaStream.scala 
> 805e91677034edcca74c74dab01a6d6d437ae442 
>   core/src/main/scala/kafka/consumer/PartitionTopicInfo.scala 
> 9c779ce072fb0a3426e96fd77f383cce6991a0f9 
>   core/src/main/scala/kafka/consumer/SimpleConsumer.scala 
> 0e64632210385ef63c2ad3445b55ac4f37a63df2 
>   core/src/main/scala/kafka/consumer/ZookeeperConsumerConnector.scala 
> 65f518d47c7555c42c4bff39c211814831f4b8b6 
>   core/src/main/scala/kafka/metrics/KafkaMetricsGroup.scala 
> a20ab90165cc7ebb1cf44078efe23a53938c8df6 
>   core/src/main/scala/kafka/producer/Producer.scala 
> 4798481d573bbdce0ba39035c50f4c4411ad0469 
>   core/src/main/scala/kafka/producer/ProducerRequestStats.scala 
> 96942205a6a461e122e003add1ab9bcebde1fe16 
>   core/src/main/scala/kafka/producer/ProducerStats.scala 
> e1610d3c602fb0f5f4cc237cb8b4e0d168a41530 
>   core/src/main/scala/kafka/producer/ProducerTopicStats.scala 
> ed209f4773dedb09e9a34005e6849730229aa6e9 
>   core/src/main/scala/kafka/producer/SyncProducer.scala 
> 489f0077512d9a69be81649c490274964290fa40 
>   core/src/main/scala/kafka/producer/async/DefaultEventHandler.scala 
> d8ac915de31a26d7aa67760d69373975cacd0c9d 
>   core/src/main/scala/kafka/producer/async/ProducerSendThread.scala 
> 42e9c741c2dcef756416832f11d37678cb7710ee 
>   core/src/main/scala/kafka/server/AbstractFetcherManager.scala 
> 9390edf37dae9815d4a3790fdd31dac422382698 
>   core/src/main/scala/kafka/server/AbstractFetcherThread.scala 
> 3b15254f32252cf824d7a292889ac7662d73ada1 
>   gradle.properties 4827769a3f8e34f0fe7e783eb58e44d4db04859b 
> 
> Diff: https://reviews.apache.org/r/24196/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jiangjie Qin
> 
>

Reply via email to