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/21 06:32:23 UTC

svn commit: r1051380 - in /hbase/trunk: ./ src/main/java/org/apache/hadoop/hbase/catalog/ src/main/java/org/apache/hadoop/hbase/regionserver/ src/main/java/org/apache/hadoop/hbase/regionserver/handler/

Author: stack
Date: Tue Dec 21 05:32:22 2010
New Revision: 1051380

URL: http://svn.apache.org/viewvc?rev=1051380&view=rev
Log:
HBASE-3343 Server not shutting down after losing log lease

Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java

Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1051380&r1=1051379&r2=1051380&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Tue Dec 21 05:32:22 2010
@@ -799,6 +799,7 @@ Release 0.90.0 - Unreleased
    HBASE-3371  Race in TestReplication can make it fail
    HBASE-3323  OOME in master splitting logs
    HBASE-3374  Our jruby jar has *GPL jars in it; fix
+   HBASE-3343  Server not shutting down after losing log lease
 
 
   IMPROVEMENTS

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java?rev=1051380&r1=1051379&r2=1051380&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java Tue Dec 21 05:32:22 2010
@@ -427,7 +427,8 @@ public class CatalogTracker {
       Throwable cause = e.getCause();
       if (cause != null && cause instanceof EOFException) {
         t = cause;
-      } else if (cause.getMessage().contains("Connection reset")) {
+      } else if (cause != null && cause.getMessage() != null
+          && cause.getMessage().contains("Connection reset")) {
         t = cause;
       } else {
         throw e;

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1051380&r1=1051379&r2=1051380&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Tue Dec 21 05:32:22 2010
@@ -643,7 +643,7 @@ public class HRegionServer implements HR
     // Interrupt catalog tracker here in case any regions being opened out in
     // handlers are stuck waiting on meta or root.
     if (this.catalogTracker != null) this.catalogTracker.stop();
-    waitOnAllRegionsToClose();
+    if (this.fsOk) waitOnAllRegionsToClose();
 
     // Make sure the proxy is down.
     if (this.hbaseMaster != null) {

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java?rev=1051380&r1=1051379&r2=1051380&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java Tue Dec 21 05:32:22 2010
@@ -97,7 +97,7 @@ public class OpenRegionHandler extends E
     if (tickleOpening("post_region_open")) {
       if (updateMeta(region)) failed = false;
     }
-    if (failed) {
+    if (failed || this.server.isStopped() || this.rsServices.isStopping()) {
       cleanupFailedOpen(region);
       return;
     }
@@ -119,6 +119,9 @@ public class OpenRegionHandler extends E
    * Caller must cleanup region if this fails.
    */
   private boolean updateMeta(final HRegion r) {
+    if (this.server.isStopped() || this.rsServices.isStopping()) {
+      return false;
+    }
     // Object we do wait/notify on.  Make it boolean.  If set, we're done.
     // Else, wait.
     final AtomicBoolean signaller = new AtomicBoolean(false);
@@ -324,4 +327,4 @@ public class OpenRegionHandler extends E
   private boolean isGoodVersion() {
     return this.version != -1;
   }
-}
\ No newline at end of file
+}