Repository: hbase
Updated Branches:
  refs/heads/branch-1 9db4a4059 -> a7fe71da8


HBASE-20917 MetaTableMetrics#stop references uninitialized requestsMap for 
non-meta region


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

Branch: refs/heads/branch-1
Commit: a7fe71da88db9b89f1d25b5d70ffc5502d803708
Parents: 9db4a40
Author: tedyu <[email protected]>
Authored: Mon Jul 23 10:04:10 2018 -0700
Committer: tedyu <[email protected]>
Committed: Mon Jul 23 10:04:10 2018 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/coprocessor/MetaTableMetrics.java   | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/a7fe71da/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
index db97789..12a969b 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.java
@@ -294,9 +294,8 @@ public class MetaTableMetrics extends BaseRegionObserver {
   public void start(CoprocessorEnvironment env) throws IOException {
     if (env instanceof RegionCoprocessorEnvironment
         && ((RegionCoprocessorEnvironment) env).getRegionInfo().getTable() != 
null
-        && ((RegionCoprocessorEnvironment) 
env).getRegionInfo().getTable().getName() != null
-        && new String(((RegionCoprocessorEnvironment) 
env).getRegionInfo().getTable().getName(),
-          
StandardCharsets.UTF_8).equals(TableName.META_TABLE_NAME.toString())) {
+        && ((RegionCoprocessorEnvironment) env).getRegionInfo().getTable()
+          .equals(TableName.META_TABLE_NAME)) {
       regionCoprocessorEnv = (RegionCoprocessorEnvironment) env;
       requestsMap = new ConcurrentHashMap<>();
       clientMetricsLossyCounting = new LossyCounting();
@@ -306,11 +305,13 @@ public class MetaTableMetrics extends BaseRegionObserver {
   }
 
   @Override
-  public void stop(CoprocessorEnvironment e) throws IOException {
+  public void stop(CoprocessorEnvironment env) throws IOException {
     // since meta region can move around, clear stale metrics when stop.
-    for (String meterName : requestsMap.keySet()) {
-      MetricRegistry registry = 
regionCoprocessorEnv.getMetricRegistryForRegionServer();
-      registry.remove(meterName);
+    if (requestsMap != null) {
+      for (String meterName : requestsMap.keySet()) {
+        MetricRegistry registry = 
regionCoprocessorEnv.getMetricRegistryForRegionServer();
+        registry.remove(meterName);
+      }
     }
   }
 

Reply via email to