diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java index f687c93..f3ff68f 100644 --- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java +++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminServer.java @@ -344,6 +344,11 @@ public class RSGroupAdminServer implements RSGroupAdmin { if (targetGrp.containsTable(region.getTable())) { continue; } + RegionState regionState = master.getAssignmentManager().getRegionStates().getRegionState(region); + if(regionState == null || (regionState.isClosed() && region.isSplit() && region.isOffline())) { + LOG.info("Moving region ignore. A split region " + region.getShortNameToLog()); + continue; + } LOG.info("Moving region " + region.getShortNameToLog()); this.master.getAssignmentManager().move(region); if (master.getAssignmentManager().getRegionStates().