diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java index 583f873..d209eb7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java @@ -140,7 +140,9 @@ public class SimpleRegionNormalizer implements RegionNormalizer { for (int i = 0; i < tableRegions.size(); i++) { HRegionInfo hri = tableRegions.get(i); long regionSize = getRegionSize(hri); - totalSizeMb += regionSize; + if (regionSize > 0) { + totalSizeMb += regionSize; + } } double avgRegionSize = totalSizeMb / (double) tableRegions.size(); @@ -204,6 +206,10 @@ public class SimpleRegionNormalizer implements RegionNormalizer { getRegionServerOfRegion(hri); RegionLoad regionLoad = masterServices.getServerManager().getLoad(sn). getRegionsLoad().get(hri.getRegionName()); + if (regionLoad == null) { + LOG.debug(hri.getRegionNameAsString() + " was not found in RegionsLoad"); + return -1; + } return regionLoad.getStorefileSizeMB(); } }