You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2016/07/01 16:33:49 UTC
hbase git commit: HBASE-16133
RSGroupBasedLoadBalancer.retainAssignment() might miss a region
Repository: hbase
Updated Branches:
refs/heads/master cc73c0311 -> bc70dc00b
HBASE-16133 RSGroupBasedLoadBalancer.retainAssignment() might miss a region
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/bc70dc00
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/bc70dc00
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/bc70dc00
Branch: refs/heads/master
Commit: bc70dc00bb05580bdc597cedf152f8add1f48d90
Parents: cc73c03
Author: Enis Soztutar <en...@apache.org>
Authored: Fri Jul 1 09:28:41 2016 -0700
Committer: Enis Soztutar <en...@apache.org>
Committed: Fri Jul 1 09:28:41 2016 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/bc70dc00/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
----------------------------------------------------------------------
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 14bc442..0e7f267 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
@@ -216,9 +216,10 @@ public class RSGroupBasedLoadBalancer implements RSGroupableBalancer, LoadBalanc
List<ServerName> candidateList = filterOfflineServers(info, servers);
ServerName server = this.internalBalancer.randomAssignment(region,
candidateList);
- if (server != null && !assignments.containsKey(server)) {
- assignments.put(server, new ArrayList<HRegionInfo>());
- } else if (server != null) {
+ if (server != null) {
+ if (!assignments.containsKey(server)) {
+ assignments.put(server, new ArrayList<HRegionInfo>());
+ }
assignments.get(server).add(region);
} else {
//if not server is available assign to bogus so it ends up in RIT