Repository: hbase
Updated Branches:
  refs/heads/branch-2 1da2fa3ba -> dad391695


HBASE-20396 Remove redundant metrics from thrift metrics


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/dad39169
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dad39169
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dad39169

Branch: refs/heads/branch-2
Commit: dad39169520c5869c7c2f1420183f89209828efd
Parents: 1da2fa3
Author: Guangxu Cheng <[email protected]>
Authored: Thu Apr 12 17:40:57 2018 +0800
Committer: Guangxu Cheng <[email protected]>
Committed: Mon Jul 9 10:00:11 2018 +0800

----------------------------------------------------------------------
 .../MetricsThriftServerSourceFactoryImpl.java   | 24 ++++++++++++--------
 1 file changed, 15 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/dad39169/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java
----------------------------------------------------------------------
diff --git 
a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java
 
b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java
index 002985a..3ce2d5d 100644
--- 
a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java
+++ 
b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.java
@@ -30,25 +30,31 @@ public class MetricsThriftServerSourceFactoryImpl 
implements MetricsThriftServer
    * A singleton used to make sure that only one thrift metrics source per 
server type is ever
    * created.
    */
-  private static enum FactoryStorage {
+  private enum FactoryStorage {
     INSTANCE;
-    MetricsThriftServerSourceImpl thriftOne = new 
MetricsThriftServerSourceImpl(METRICS_NAME,
-        METRICS_DESCRIPTION,
-        THRIFT_ONE_METRICS_CONTEXT,
-        THRIFT_ONE_JMX_CONTEXT);
-    MetricsThriftServerSourceImpl thriftTwo = new 
MetricsThriftServerSourceImpl(METRICS_NAME,
-        METRICS_DESCRIPTION,
-        THRIFT_TWO_METRICS_CONTEXT,
-        THRIFT_TWO_JMX_CONTEXT);
+    MetricsThriftServerSourceImpl thriftOne;
+    MetricsThriftServerSourceImpl thriftTwo;
   }
 
   @Override
   public MetricsThriftServerSource createThriftOneSource() {
+    if (FactoryStorage.INSTANCE.thriftOne == null) {
+      FactoryStorage.INSTANCE.thriftOne = new 
MetricsThriftServerSourceImpl(METRICS_NAME,
+          METRICS_DESCRIPTION,
+          THRIFT_ONE_METRICS_CONTEXT,
+          THRIFT_ONE_JMX_CONTEXT);
+    }
     return FactoryStorage.INSTANCE.thriftOne;
   }
 
   @Override
   public MetricsThriftServerSource createThriftTwoSource() {
+    if (FactoryStorage.INSTANCE.thriftTwo == null) {
+      FactoryStorage.INSTANCE.thriftTwo = new 
MetricsThriftServerSourceImpl(METRICS_NAME,
+          METRICS_DESCRIPTION,
+          THRIFT_TWO_METRICS_CONTEXT,
+          THRIFT_TWO_JMX_CONTEXT);
+    }
     return FactoryStorage.INSTANCE.thriftTwo;
   }
 }

Reply via email to