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]