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/12/17 06:48:05 UTC

svn commit: r1050279 - in /hbase/trunk: CHANGES.txt src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java

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
+}