Index: src/main/java/org/apache/hadoop/hbase/master/RegionServerOperationQueue.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/RegionServerOperationQueue.java (revision 953476) +++ src/main/java/org/apache/hadoop/hbase/master/RegionServerOperationQueue.java (working copy) @@ -110,17 +110,16 @@ /** * Try to get an operation off of the queue and process it. - * @param rootRegionLocation Location of the root region. * @return {@link ProcessingResultCode#PROCESSED}, * {@link ProcessingResultCode#REQUEUED}, * {@link ProcessingResultCode#REQUEUED_BUT_PROBLEM} */ - public synchronized ProcessingResultCode process(final HServerAddress rootRegionLocation) { + public synchronized ProcessingResultCode process() { RegionServerOperation op = null; // Only process the delayed queue if root region is online. If offline, // the operation to put it online is probably in the toDoQueue. Process // it first. - if (rootRegionLocation != null) { + if (toDoQueue.isEmpty()) { op = delayedToDoQueue.poll(); } if (op == null) { Index: src/main/java/org/apache/hadoop/hbase/master/HMaster.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/HMaster.java (revision 953476) +++ src/main/java/org/apache/hadoop/hbase/master/HMaster.java (working copy) @@ -452,8 +452,7 @@ this.serverManager.getServersToServerInfo().keySet().toString()); } } - final HServerAddress root = this.regionManager.getRootRegionLocation(); - switch (this.regionServerOperationQueue.process(root)) { + switch (this.regionServerOperationQueue.process()) { case FAILED: // If FAILED op processing, bad. Exit. break FINISHED;