diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java index 65053b8..1efbdc0 100644 --- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java +++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java @@ -309,10 +309,16 @@ public class RSGroupBasedLoadBalancer implements RSGroupableBalancer { ServerName assignedServer = region.getValue(); RSGroupInfo info = rsGroupInfoManager.getRSGroup(rsGroupInfoManager. getRSGroupOfTable(regionInfo.getTable())); - if (assignedServer != null && - (info == null || !info.containsServer(assignedServer.getAddress()))) { - RSGroupInfo otherInfo = null; - otherInfo = rsGroupInfoManager.getRSGroupOfServer(assignedServer.getAddress()); + if (assignedServer == null) { + LOG.debug("There is no assigned server for {}", region); + continue; + } + RSGroupInfo otherInfo = rsGroupInfoManager.getRSGroupOfServer(assignedServer.getAddress()); + if (info == null && otherInfo == null) { + LOG.debug("Couldn't obtain rs group information for {}", assignedServer); + continue; + } + if ((info == null || !info.containsServer(assignedServer.getAddress()))) { LOG.debug("Found misplaced region: " + regionInfo.getRegionNameAsString() + " on server: " + assignedServer + " found in group: " + otherInfo +