Repository: hbase Updated Branches: refs/heads/branch-1.2 443de6ef4 -> 7622d1b3e
HBASE-14291 NPE On StochasticLoadBalancer Balance Involving RS With No Regions Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7622d1b3 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7622d1b3 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7622d1b3 Branch: refs/heads/branch-1.2 Commit: 7622d1b3e8e82add7175d1b6153fd0735a93498f Parents: 443de6e Author: tedyu <[email protected]> Authored: Sat Aug 22 14:49:37 2015 -0700 Committer: Elliott Clark <[email protected]> Committed: Mon Oct 19 19:29:00 2015 -0700 ---------------------------------------------------------------------- .../hadoop/hbase/master/balancer/BaseLoadBalancer.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/7622d1b3/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java index 26f3570..c6068b7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java @@ -844,7 +844,13 @@ public abstract class BaseLoadBalancer implements LoadBalancer { int leastLoadedServerIndex = -1; int load = Integer.MAX_VALUE; for (ServerName sn : topLocalServers) { - int index = serversToIndex.get(sn); + if (!serversToIndex.containsKey(sn.getHostAndPort())) { + continue; + } + int index = serversToIndex.get(sn.getHostAndPort()); + if (regionsPerServer[index] == null) { + continue; + } int tempLoad = regionsPerServer[index].length; if (tempLoad <= load) { leastLoadedServerIndex = index;
