Skip to content

Commit 8a330d4

Browse files
mnpooniavirajjasani
authored andcommitted
HBASE-25523 Region normalizer chore thread is getting killed (#2903)
Signed-off-by: Bharath Vissapragada <[email protected]> Signed-off-by: Viraj Jasani <[email protected]>
1 parent 2192737 commit 8a330d4

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.apache.hadoop.conf.Configuration;
3131
import org.apache.hadoop.hbase.HBaseInterfaceAudience;
3232
import org.apache.hadoop.hbase.RegionMetrics;
33+
import org.apache.hadoop.hbase.ServerMetrics;
3334
import org.apache.hadoop.hbase.ServerName;
3435
import org.apache.hadoop.hbase.Size;
3536
import org.apache.hadoop.hbase.TableName;
@@ -225,8 +226,16 @@ public List<NormalizationPlan> computePlansForTable(final TableName table) {
225226
private long getRegionSizeMB(RegionInfo hri) {
226227
ServerName sn =
227228
masterServices.getAssignmentManager().getRegionStates().getRegionServerOfRegion(hri);
228-
RegionMetrics regionLoad =
229-
masterServices.getServerManager().getLoad(sn).getRegionMetrics().get(hri.getRegionName());
229+
if (sn == null) {
230+
LOG.debug("{} region was not found on any Server", hri.getRegionNameAsString());
231+
return -1;
232+
}
233+
ServerMetrics serverMetrics = masterServices.getServerManager().getLoad(sn);
234+
if (serverMetrics == null) {
235+
LOG.debug("server {} was not found in ServerManager", sn.getServerName());
236+
return -1;
237+
}
238+
RegionMetrics regionLoad = serverMetrics.getRegionMetrics().get(hri.getRegionName());
230239
if (regionLoad == null) {
231240
LOG.debug("{} was not found in RegionsLoad", hri.getRegionNameAsString());
232241
return -1;

0 commit comments

Comments
 (0)