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());