You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ec...@apache.org on 2015/10/20 04:29:21 UTC
hbase git commit: HBASE-14291 NPE On StochasticLoadBalancer Balance
Involving RS With No Regions
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 <yu...@gmail.com>
Authored: Sat Aug 22 14:49:37 2015 -0700
Committer: Elliott Clark <ec...@apache.org>
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;