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/05/17 19:14:21 UTC
svn commit: r945242 - in /hadoop/hbase/branches/0.20: CHANGES.txt
src/java/org/apache/hadoop/hbase/master/HMaster.java
src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java
Author: stack
Date: Mon May 17 17:14:21 2010
New Revision: 945242
URL: http://svn.apache.org/viewvc?rev=945242&view=rev
Log:
HBASE-2428 NPE in ProcessRegionClose because meta is offline kills master and thus the cluster
Modified:
hadoop/hbase/branches/0.20/CHANGES.txt
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java
hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java
Modified: hadoop/hbase/branches/0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/CHANGES.txt?rev=945242&r1=945241&r2=945242&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20/CHANGES.txt Mon May 17 17:14:21 2010
@@ -7,6 +7,8 @@ Release 0.20.5
HBASE-2503 PriorityQueue isn't thread safe, KeyValueHeap uses it that way
HBASE-2482 Regions in transition do not get reassigned by master when RS
crashes (Todd Lipcon via Stack)
+ HBASE-2428 NPE in ProcessRegionClose because meta is offline kills master
+ and thus the cluster
Release 0.20.4 - Mon May 3 16:16:02 PDT 2010
INCOMPATIBLE CHANGES
Modified: hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java?rev=945242&r1=945241&r2=945242&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java (original)
+++ hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/HMaster.java Mon May 17 17:14:21 2010
@@ -531,7 +531,7 @@ public class HMaster extends Thread impl
return false;
}
LOG.warn("Processing pending operations: " + op.toString(), ex);
- delayedToDoQueue.put(op);
+ op.requeue();
}
return true;
}
Modified: hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java?rev=945242&r1=945241&r2=945242&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java (original)
+++ hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/master/ProcessRegionClose.java Mon May 17 17:14:21 2010
@@ -58,6 +58,13 @@ class ProcessRegionClose extends Process
@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 =