You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/07/13 21:28:13 UTC

svn commit: r963829 - in /hbase/branches/0.20: CHANGES.txt src/java/org/apache/hadoop/hbase/master/HMaster.java

Author: stack
Date: Tue Jul 13 19:28:13 2010
New Revision: 963829

URL: http://svn.apache.org/viewvc?rev=963829&view=rev
Log:
HBASE-2796 Backport of 2707 to 0.20 branch

Modified:
    hbase/branches/0.20/CHANGES.txt
    hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java

Modified: hbase/branches/0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.20/CHANGES.txt?rev=963829&r1=963828&r2=963829&view=diff
==============================================================================
--- hbase/branches/0.20/CHANGES.txt (original)
+++ hbase/branches/0.20/CHANGES.txt Tue Jul 13 19:28:13 2010
@@ -5,8 +5,9 @@ Release 0.20.6 - Unreleased
    HBASE-2772  Scan doesn't recover from region server failure
    HBASE-2786  TestHLog.testSplit hangs
    HBASE-2797  Another NPE in ReadWriteConsistencyControl
+   HBASE-2796  Backport of 2707 to 0.20 branch
 
-Release 0.20.5 - Unreleased
+Release 0.20.5 - Jun 24, 2010
 
   BUG FIXES
    HBASE-2545  Unresponsive region server, potential deadlock

Modified: hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java?rev=963829&r1=963828&r2=963829&view=diff
==============================================================================
--- hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java (original)
+++ hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java Tue Jul 13 19:28:13 2010
@@ -467,13 +467,11 @@ public class HMaster extends Thread impl
   private boolean processToDoQueue() {
     RegionServerOperation op = null;
 
-    // block until the root region is online
-    if (regionManager.getRootRegionLocation() != null) {
-      // We can't process server shutdowns unless the root region is online
+    // If nothing on the todoQueue, go to the delay queue.
+    if (toDoQueue.isEmpty()) {
       op = delayedToDoQueue.poll();
     }
-    
-    // if there aren't any todo items in the queue, sleep for a bit.
+    // if there aren't any todo items in the queue, we'll sleep for a bit.
     if (op == null ) {
       try {
         op = toDoQueue.poll(threadWakeFrequency, TimeUnit.MILLISECONDS);
@@ -481,13 +479,9 @@ public class HMaster extends Thread impl
         // continue
       }
     }
-    
-    // at this point, if there's still no todo operation, or we're supposed to
-    // be closed, return.
-    if (op == null || closed.get()) {
-      return true;
-    }
-    
+    if (closed.get()) return true;
+    // If nothing to do, return.
+    if (op == null) return false;
     try {
       if (LOG.isDebugEnabled()) {
         LOG.debug("Processing todo: " + op.toString());