Index: src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (revision 1150529) +++ src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (working copy) @@ -767,14 +767,15 @@ * @param regionInfo */ public void regionOffline(final HRegionInfo regionInfo) { + // remove the region plan as well just in case. + clearRegionPlan(regionInfo); + setOffline(regionInfo); + synchronized(this.regionsInTransition) { if (this.regionsInTransition.remove(regionInfo.getEncodedName()) != null) { this.regionsInTransition.notifyAll(); } } - // remove the region plan as well just in case. - clearRegionPlan(regionInfo); - setOffline(regionInfo); } /** Index: src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java (revision 1150529) +++ src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java (working copy) @@ -103,6 +103,10 @@ done = true; break; } + else{ + //We wait pool done + Thread.sleep(5 * 1000); + } } catch (InterruptedException e) { LOG.warn("Enable was interrupted"); // Preserve the interrupt.