bharathv commented on a change in pull request #2899:
URL: https://github.com/apache/hbase/pull/2899#discussion_r562129209



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
##########
@@ -222,8 +223,12 @@ public void setMasterRpcServices(MasterRpcServices 
masterRpcServices) {
   private long getRegionSize(HRegionInfo hri) {
     ServerName sn = masterServices.getAssignmentManager().getRegionStates().
       getRegionServerOfRegion(hri);
-    RegionLoad regionLoad = masterServices.getServerManager().getLoad(sn).
-      getRegionsLoad().get(hri.getRegionName());
+    ServerLoad load = masterServices.getServerManager().getLoad(sn);
+    if (load == null) {
+      LOG.debug(hri.getRegionNameAsString() + " was not found on any server");

Review comment:
       Saw this issue today.. few comments
   
   Doesn't this mean the server "sn" is offline (not that region is not 
assigned)? 
   
   A tighter check here is isRegionOnline(), first check if the region is 
online (which ensures the region is not in transition and is assigned), we can 
even loop a few times to avoid any transient RITs.
   
   Another related question is does it make sense to run normalizer if there 
are RITs.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to