Author: stack
Date: Thu Dec  2 19:03:28 2010
New Revision: 1041535

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

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

Modified: hbase/branches/0.90/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1041535&r1=1041534&r2=1041535&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Thu Dec  2 19:03:28 2010
@@ -719,6 +719,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 region
 
 
   IMPROVEMENTS

Modified: 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java?rev=1041535&r1=1041534&r2=1041535&view=diff
==============================================================================
--- 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
 (original)
+++ 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
 Thu Dec  2 19:03: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/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: 
http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1041535&r1=1041534&r2=1041535&view=diff
==============================================================================
--- 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
 (original)
+++ 
hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
 Thu Dec  2 19:03: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


Reply via email to