From 53f3277d06e22e6224ad8f61ce88b449e2a194e0 Mon Sep 17 00:00:00 2001 From: Abhishek Singh Chouhan Date: Tue, 6 Mar 2018 16:34:32 +0530 Subject: [PATCH] HBASE-20139 NPE in RSRpcServices.get() when getRegion throws an exception --- .../java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java index 5a495ed..b19d5a1 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java @@ -2226,9 +2226,12 @@ public class RSRpcServices implements HBaseRPCErrorHandler, } catch (IOException ie) { throw new ServiceException(ie); } finally { - if (regionServer.metricsRegionServer != null) { - regionServer.metricsRegionServer.updateGet( - region.getTableDesc().getTableName(), EnvironmentEdgeManager.currentTime() - before); + MetricsRegionServer mrs = regionServer.metricsRegionServer; + if (mrs != null) { + HTableDescriptor td = region != null ? region.getTableDesc() : null; + if (td != null) { + mrs.updateGet(td.getTableName(), EnvironmentEdgeManager.currentTime() - before); + } } if (quota != null) { quota.close(); -- 2.10.1