Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/BaseSourceImpl.java
- +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/metrics/BaseSourceImpl.java
- @@ -45,8 +45,11 @@ public class BaseSourceImpl implements BaseSource, MetricsSource {
- INSTANCE;
- private boolean inited = false;
- - synchronized void init(String name) {
- - if (inited) return;
- + /*
- + * @return whether actual initialization is done by this call
- + */
- + synchronized boolean init(String name) {
- + if (inited) return false;
- inited = true;
- DefaultMetricsSystem.initialize(HBASE_METRICS_SYSTEM_NAME);
- JvmMetrics.initSingleton(name, "");
- @@ -55,6 +58,7 @@ public class BaseSourceImpl implements BaseSource, MetricsSource {
- // doing it here. Once BaseSourceSourceImpl is removed, we should do the initialization of
- // these elsewhere.
- GlobalMetricRegistriesAdapter.init();
- + return true;
- }
- }
- @@ -109,10 +113,10 @@ public class BaseSourceImpl implements BaseSource, MetricsSource {
- this.metricsJmxContext = metricsJmxContext;
- metricsRegistry = new DynamicMetricsRegistry(metricsName).setContext(metricsContext);
- - DefaultMetricsSystemInitializer.INSTANCE.init(metricsName);
- -
- - //Register this instance.
- - DefaultMetricsSystem.instance().register(metricsJmxContext, metricsDescription, this);
- + if (DefaultMetricsSystemInitializer.INSTANCE.init(metricsName)) {
- + //Register this instance.
- + DefaultMetricsSystem.instance().register(metricsJmxContext, metricsDescription, this);
- + }
- // hbase-metrics module based metrics are registered in the hbase MetricsRegistry.
- registry = MetricRegistries.global().create(this.getMetricRegistryInfo());
Advertisement
Add Comment
Please, Sign In to add comment