You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ju...@apache.org on 2014/03/18 18:55:24 UTC
git commit: kafka-1304; unregistered mbean exception in new producer;
reviewed by Jay Kreps
Repository: kafka
Updated Branches:
refs/heads/trunk cc859dcca -> 74e220925
kafka-1304; unregistered mbean exception in new producer; reviewed by Jay Kreps
Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/74e22092
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/74e22092
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/74e22092
Branch: refs/heads/trunk
Commit: 74e22092519270428c067a5209ec3028e0745bea
Parents: cc859dc
Author: Jun Rao <ju...@gmail.com>
Authored: Tue Mar 18 10:55:19 2014 -0700
Committer: Jun Rao <ju...@gmail.com>
Committed: Tue Mar 18 10:55:19 2014 -0700
----------------------------------------------------------------------
.../kafka/common/metrics/JmxReporter.java | 32 +++++++++++---------
1 file changed, 18 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kafka/blob/74e22092/clients/src/main/java/org/apache/kafka/common/metrics/JmxReporter.java
----------------------------------------------------------------------
diff --git a/clients/src/main/java/org/apache/kafka/common/metrics/JmxReporter.java b/clients/src/main/java/org/apache/kafka/common/metrics/JmxReporter.java
index c867c8d..3950eb1 100644
--- a/clients/src/main/java/org/apache/kafka/common/metrics/JmxReporter.java
+++ b/clients/src/main/java/org/apache/kafka/common/metrics/JmxReporter.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
public class JmxReporter implements MetricsReporter {
private static final Logger log = LoggerFactory.getLogger(JmxReporter.class);
-
+ private static final Object lock = new Object();
private final String prefix;
private final Map<String, KafkaMbean> mbeans = new HashMap<String, KafkaMbean>();
@@ -57,18 +57,21 @@ public class JmxReporter implements MetricsReporter {
}
@Override
- public synchronized void init(List<KafkaMetric> metrics) {
- for (KafkaMetric metric : metrics)
- addAttribute(metric);
- for (KafkaMbean mbean : mbeans.values())
- reregister(mbean);
-
+ public void init(List<KafkaMetric> metrics) {
+ synchronized (lock) {
+ for (KafkaMetric metric : metrics)
+ addAttribute(metric);
+ for (KafkaMbean mbean : mbeans.values())
+ reregister(mbean);
+ }
}
@Override
- public synchronized void metricChange(KafkaMetric metric) {
- KafkaMbean mbean = addAttribute(metric);
- reregister(mbean);
+ public void metricChange(KafkaMetric metric) {
+ synchronized (lock) {
+ KafkaMbean mbean = addAttribute(metric);
+ reregister(mbean);
+ }
}
private KafkaMbean addAttribute(KafkaMetric metric) {
@@ -85,10 +88,11 @@ public class JmxReporter implements MetricsReporter {
}
}
- public synchronized void close() {
- for (KafkaMbean mbean : this.mbeans.values())
- unregister(mbean);
-
+ public void close() {
+ synchronized (lock) {
+ for (KafkaMbean mbean : this.mbeans.values())
+ unregister(mbean);
+ }
}
private void unregister(KafkaMbean mbean) {