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