You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2017/07/19 23:21:52 UTC
[16/22] hbase git commit: HBASE-16133
RSGroupBasedLoadBalancer.retainAssignment() might miss a region
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/e7f97663
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e7f97663
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e7f97663
Branch: refs/heads/HBASE-15631-branch-1
Commit: e7f976633d883653e5518196a21d4d7e0a0b936e
Parents: 2d09a56
Author: Andrew Purtell <ap...@apache.org>
Authored: Wed Jul 5 15:43:46 2017 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Wed Jul 19 16:21:10 2017 -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/e7f97663/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 f69f093..c1b3c7d 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