From 99492044929e902e81ea64e44229faa0f464ad2d Mon Sep 17 00:00:00 2001 From: niuyulin Date: Wed, 11 Mar 2020 02:14:43 +0800 Subject: [PATCH] HBASE-23954 SplitParent region should not be balanced (#1264) Co-authored-by: niuyulin Signed-off-by: Viraj Jasani Signed-off-by: Guanghao Zhang Signed-off-by: stack --- .../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 d3874a6e2417..8e2771654497 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 Map>> getAssignmentsForBalanc if (isTableDisabled(tableStateManager, node.getTable())) { continue; } + if (node.getRegionInfo().isSplitParent()) { + continue; + } Map> tableResult = result.computeIfAbsent(node.getTable(), t -> new HashMap<>()); final ServerName serverName = node.getRegionLocation(); @@ -569,9 +572,10 @@ public Map>> getAssignmentsForBalanc 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<>()); }