You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/03/10 18:16:11 UTC

[hbase] branch branch-2.2 updated: HBASE-23954 SplitParent region should not be balanced (#1264)

This is an automated email from the ASF dual-hosted git repository.

stack pushed a commit to branch branch-2.2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.2 by this push:
     new 9949204  HBASE-23954 SplitParent region should not be balanced (#1264)
9949204 is described below

commit 99492044929e902e81ea64e44229faa0f464ad2d
Author: niuyulin <ny...@163.com>
AuthorDate: Wed Mar 11 02:14:43 2020 +0800

    HBASE-23954 SplitParent region should not be balanced (#1264)
    
    Co-authored-by: niuyulin <ni...@xiaomi.com>
    
    Signed-off-by: Viraj Jasani <vj...@apache.org>
    Signed-off-by: Guanghao Zhang <zg...@apache.org>
    Signed-off-by: stack <st...@apache.org>
---
 .../apache/hadoop/hbase/master/assignment/RegionStates.java    | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
index d3874a6..8e27716 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
@@ -547,6 +547,9 @@ public class RegionStates {
         if (isTableDisabled(tableStateManager, node.getTable())) {
           continue;
         }
+        if (node.getRegionInfo().isSplitParent()) {
+          continue;
+        }
         Map<ServerName, List<RegionInfo>> tableResult =
             result.computeIfAbsent(node.getTable(), t -> new HashMap<>());
         final ServerName serverName = node.getRegionLocation();
@@ -569,9 +572,10 @@ public class RegionStates {
       for (ServerName serverName : onlineServers) {
         ServerStateNode serverNode = serverMap.get(serverName);
         if (serverNode != null) {
-          ensemble.put(serverNode.getServerName(), serverNode.getRegionInfoList().stream()
-            .filter(region -> !isTableDisabled(tableStateManager, region.getTable()))
-            .collect(Collectors.toList()));
+          ensemble.put(serverNode.getServerName(),
+            serverNode.getRegionInfoList().stream()
+                .filter(region -> !isTableDisabled(tableStateManager, region.getTable()))
+                .filter(region -> !region.isSplitParent()).collect(Collectors.toList()));
         } else {
           ensemble.put(serverName, new ArrayList<>());
         }