Index: src/java/org/apache/hadoop/hbase/master/HMaster.java =================================================================== --- src/java/org/apache/hadoop/hbase/master/HMaster.java (revision 944375) +++ src/java/org/apache/hadoop/hbase/master/HMaster.java (working copy) @@ -528,7 +528,7 @@ return false; } LOG.warn("Processing pending operations: " + op.toString(), ex); - delayedToDoQueue.put(op); + op.requeue(); } return true; } Index: src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java =================================================================== --- src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java (revision 944375) +++ src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java (working copy) @@ -58,6 +58,13 @@ @Override protected boolean process() throws IOException { + if (!metaRegionAvailable()) { + // We can't proceed unless the meta region we are going to update + // is online. metaRegionAvailable() has put this operation on the + // delayedToDoQueue, so return true so the operation is not put + // back on the toDoQueue + return true; + } Boolean result = null; if (offlineRegion || reassignRegion) { result =