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/02 20:02:28 UTC

svn commit: r1041533 - in /hbase/trunk: CHANGES.txt src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Author: stack
Date: Thu Dec  2 19:02:28 2010
New Revision: 1041533

URL: http://svn.apache.org/viewvc?rev=1041533&view=rev
Log:
HBASE-3301 Treat java.net.SocketTimeoutException same as ConnectException assigning/unassigning regions

Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1041533&r1=1041532&r2=1041533&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Thu Dec  2 19:02:28 2010
@@ -736,6 +736,8 @@ Release 0.90.0 - Unreleased
    HBASE-3291  If split happens while regionserver is going down, we can stick open.
    HBASE-3295  Dropping a 1k+ regions table likely ends in a client socket timeout
                and it's very confusing
+   HBASE-3301  Treat java.net.SocketTimeoutException same as ConnectException
+               assigning/unassigning regions
 
 
   IMPROVEMENTS

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java?rev=1041533&r1=1041532&r2=1041533&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java Thu Dec  2 19:02:28 2010
@@ -286,6 +286,9 @@ public class MetaReader {
       r = metaServer.get(catalogRegionName,
         new Get(regionName).addColumn(HConstants.CATALOG_FAMILY,
         HConstants.SERVER_QUALIFIER));
+    } catch (java.net.SocketTimeoutException e) {
+      // Treat this exception + message as unavailable catalog table. Catch it
+      // and fall through to return a null
     } catch (java.net.ConnectException e) {
       if (e.getMessage() != null &&
           e.getMessage().contains("Connection refused")) {

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1041533&r1=1041532&r2=1041533&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Thu Dec  2 19:02:28 2010
@@ -1031,11 +1031,13 @@ public class AssignmentManager extends Z
       LOG.debug("Server " + server + " region CLOSE RPC returned false");
     } catch (NotServingRegionException nsre) {
       // Failed to close, so pass through and reassign
-      LOG.info("Server " + server + " returned NotServingRegionException");
+      LOG.info("Server " + server + " returned " + nsre);
     } catch (ConnectException e) {
       // Failed to connect, so pass through and reassign
-      LOG.info("Server " + server + " returned ConnectException " +
-        e.getMessage());
+      LOG.info("Server " + server + " returned " + e.getMessage());
+    } catch (java.net.SocketTimeoutException e) {
+      // Failed to connect, so pass through and reassign
+      LOG.info("Server " + server + " returned " + e.getMessage());
     } catch (RemoteException re) {
       if (re.unwrapRemoteException() instanceof NotServingRegionException) {
         // Failed to close, so pass through and reassign