Repository: hbase
Updated Branches:
  refs/heads/branch-2 dd0325a74 -> 654480326


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/65448032
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/65448032
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/65448032

Branch: refs/heads/branch-2
Commit: 654480326b9a8a5fa9d9314d1cfced6a45cfa941
Parents: dd0325a
Author: tedyu <yuzhih...@gmail.com>
Authored: Sun Jul 22 20:51:58 2018 -0700
Committer: tedyu <yuzhih...@gmail.com>
Committed: Sun Jul 22 20:51:58 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/65448032/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 9bf35c0..64a6288 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
@@ -309,9 +309,8 @@ public class MetaTableMetrics implements RegionCoprocessor {
   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;
       observer = new ExampleRegionObserverMeta();
       requestsMap = new ConcurrentHashMap<>();
@@ -324,11 +323,13 @@ public class MetaTableMetrics implements 
RegionCoprocessor {
   }
 
   @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