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); + } } }
