From ad75ff782299a7d1b19f1165d7142bb9d71300d0 Mon Sep 17 00:00:00 2001 From: Pankaj Date: Fri, 23 Aug 2019 15:44:34 +0530 Subject: [PATCH 1/2] NPE occurs when RS send space quota usage report during HMaster init --- .../apache/hadoop/hbase/master/MasterRpcServices.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index c8caea76d871..1e73b33874b1 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2227,10 +2227,12 @@ public RegionSpaceUseReportResponse reportRegionSpaceUse(RpcController controlle return RegionSpaceUseReportResponse.newBuilder().build(); } MasterQuotaManager quotaManager = this.master.getMasterQuotaManager(); - final long now = EnvironmentEdgeManager.currentTime(); - for (RegionSpaceUse report : request.getSpaceUseList()) { - quotaManager.addRegionSize(ProtobufUtil.toRegionInfo( - report.getRegionInfo()), report.getRegionSize(), now); + if (quotaManager != null) { + final long now = EnvironmentEdgeManager.currentTime(); + for (RegionSpaceUse report : request.getSpaceUseList()) { + quotaManager.addRegionSize(ProtobufUtil.toRegionInfo(report.getRegionInfo()), + report.getRegionSize(), now); + } } return RegionSpaceUseReportResponse.newBuilder().build(); } catch (Exception e) { From 2a046b4083dad4c30c3dfa865f6fba4864e52c24 Mon Sep 17 00:00:00 2001 From: Pankaj Date: Sat, 24 Aug 2019 22:05:51 +0530 Subject: [PATCH 2/2] Added the debug log --- .../org/apache/hadoop/hbase/master/MasterRpcServices.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 1e73b33874b1..e1c21c6e5036 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2233,6 +2233,9 @@ public RegionSpaceUseReportResponse reportRegionSpaceUse(RpcController controlle quotaManager.addRegionSize(ProtobufUtil.toRegionInfo(report.getRegionInfo()), report.getRegionSize(), now); } + } else { + LOG.debug( + "Received region space usage report but HMaster is not ready to process it, skipping"); } return RegionSpaceUseReportResponse.newBuilder().build(); } catch (Exception e) { @@ -2267,6 +2270,9 @@ public GetSpaceQuotaRegionSizesResponse getSpaceQuotaRegionSizes( .setSize(tableSize.getValue()).build()); } return builder.build(); + } else { + LOG.debug( + "Received space quota region size report but HMaster is not ready to process it, skipping"); } return builder.build(); } catch (Exception e) {