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 2011/01/21 00:15:01 UTC

svn commit: r1061565 - in /hbase/branches/0.90: CHANGES.txt src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java

Author: stack
Date: Thu Jan 20 23:15:01 2011
New Revision: 1061565

URL: http://svn.apache.org/viewvc?rev=1061565&view=rev
Log:
HBASE-3445 Master crashes on data that was moved from different host

Modified:
    hbase/branches/0.90/CHANGES.txt
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
    hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java

Modified: hbase/branches/0.90/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1061565&r1=1061564&r2=1061565&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Thu Jan 20 23:15:01 2011
@@ -1,7 +1,8 @@
 HBase Change Log
 Release 0.90.1 - Unreleased
   BUG FIXES
-   HBASE-3387  Revert 'Pair does not deep check arrays for equality'
+   HBASE-3387 Revert 'Pair does not deep check arrays for equality'
+   HBASE-3445 Master crashes on data that was moved from different host
 
   IMPROVEMENTS
 

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java?rev=1061565&r1=1061564&r2=1061565&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java Thu Jan 20 23:15:01 2011
@@ -22,6 +22,7 @@ package org.apache.hadoop.hbase.catalog;
 import java.io.EOFException;
 import java.io.IOException;
 import java.net.ConnectException;
+import java.net.SocketTimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.commons.logging.Log;
@@ -388,6 +389,9 @@ public class CatalogTracker {
       } else {
         throw e;
       }
+    } catch (SocketTimeoutException e) {
+      // We were passed the wrong address.  Return 'protocol' == null.
+      LOG.debug("Timed out connecting to " + address);
     } catch (IOException ioe) {
       Throwable cause = ioe.getCause();
       if (cause != null && cause instanceof EOFException) {

Modified: hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java?rev=1061565&r1=1061564&r2=1061565&view=diff
==============================================================================
--- hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java (original)
+++ hbase/branches/0.90/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java Thu Jan 20 23:15:01 2011
@@ -408,11 +408,7 @@ public class HBaseTestingUtility {
    */
   public void shutdownMiniCluster() throws IOException {
     LOG.info("Shutting down minicluster");
-    if (this.hbaseCluster != null) {
-      this.hbaseCluster.shutdown();
-      // Wait till hbase is down before going on to shutdown zk.
-      this.hbaseCluster.join();
-    }
+    shutdownMiniHBaseCluster();
     if (!this.passedZkCluster) shutdownMiniZKCluster();
     if (this.dfsCluster != null) {
       // The below throws an exception per dn, AsynchronousCloseException.
@@ -431,6 +427,19 @@ public class HBaseTestingUtility {
   }
 
   /**
+   * Shutdown HBase mini cluster.  Does not shutdown zk or dfs if running.
+   * @throws IOException
+   */
+  public void shutdownMiniHBaseCluster() throws IOException {
+    if (this.hbaseCluster != null) {
+      this.hbaseCluster.shutdown();
+      // Wait till hbase is down before going on to shutdown zk.
+      this.hbaseCluster.join();
+    }
+    this.hbaseCluster = null;
+  }
+
+  /**
    * Creates an hbase rootdir in user home directory.  Also creates hbase
    * version file.  Normally you won't make use of this method.  Root hbasedir
    * is created for you as part of mini cluster startup.  You'd only use this