Author: stack
Date: Fri Dec 17 05:48:05 2010
New Revision: 1050279
URL: http://svn.apache.org/viewvc?rev=1050279&view=rev
Log:
HBASE-3368 Split message can come in before region opened message; results in
'Region has been PENDING_CLOSE for too long' cycle
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
Modified: hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1050279&r1=1050278&r2=1050279&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Fri Dec 17 05:48:05 2010
@@ -787,6 +787,8 @@ Release 0.90.0 - Unreleased
HBASE-3365 EOFE contacting crashed RS causes Master abort
HBASE-3362 If .META. offline between OPENING and OPENED, then wrong server
location in .META. is possible
+ HBASE-3368 Split message can come in before region opened message; results
+ in 'Region has been PENDING_CLOSE for too long' cycle
IMPROVEMENTS
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java?rev=1050279&r1=1050278&r2=1050279&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
Fri Dec 17 05:48:05 2010
@@ -160,6 +160,9 @@ class CatalogJanitor extends Chore {
if (!hasReferencesA && !hasReferencesB) {
LOG.debug("Deleting region " + parent.getRegionNameAsString() +
" because daughter splits no longer hold references");
+ // This latter regionOffline should not be necessary but is done for now
+ // until we let go of regionserver to master heartbeats. See HBASE-3368.
+ this.services.getAssignmentManager().regionOffline(parent);
FileSystem fs = this.services.getMasterFileSystem().getFileSystem();
Path rootdir = this.services.getMasterFileSystem().getRootDir();
HRegion.deleteRegion(fs, rootdir, parent);
@@ -261,4 +264,4 @@ class CatalogJanitor extends Chore {
}
return result;
}
-}
\ No newline at end of file
+}