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/10/12 17:06:15 UTC

svn commit: r1021791 - in /hbase/trunk/src: main/java/org/apache/hadoop/hbase/util/Merge.java main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java test/java/org/apache/hadoop/hbase/util/TestMergeTool.java

Author: stack
Date: Tue Oct 12 15:06:15 2010
New Revision: 1021791

URL: http://svn.apache.org/viewvc?rev=1021791&view=rev
Log:
More fixup for hbase merge tool -- test for master being offline

Modified:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/Merge.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/Merge.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/Merge.java?rev=1021791&r1=1021790&r2=1021791&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/Merge.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/Merge.java Tue Oct 12 15:06:15 2010
@@ -31,6 +31,7 @@ import org.apache.hadoop.hbase.HConstant
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.MasterNotRunningException;
+import org.apache.hadoop.hbase.ZooKeeperConnectionException;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
@@ -92,6 +93,8 @@ public class Merge extends Configured im
       HBaseAdmin.checkHBaseAvailable(getConf());
       LOG.fatal("HBase cluster must be off-line.");
       return -1;
+    } catch (ZooKeeperConnectionException zkce) {
+      // If no zk, presume no master.
     } catch (MasterNotRunningException e) {
       // Expected. Ignore.
     }

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java?rev=1021791&r1=1021790&r2=1021791&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java Tue Oct 12 15:06:15 2010
@@ -29,6 +29,7 @@ import org.apache.commons.logging.LogFac
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.Abortable;
 import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.ZooKeeperConnectionException;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
@@ -90,10 +91,11 @@ public class ZooKeeperWatcher implements
    * @param descriptor Descriptive string that is added to zookeeper sessionid
    * and used as identifier for this instance.
    * @throws IOException
+   * @throws ZooKeeperConnectionException
    */
   public ZooKeeperWatcher(Configuration conf, String descriptor,
       Abortable abortable)
-  throws IOException {
+  throws IOException, ZooKeeperConnectionException {
     this.quorum = ZKConfig.getZKQuorumServersString(conf);
     // Identifier will get the sessionid appended later below down when we
     // handle the syncconnect event.
@@ -127,7 +129,8 @@ public class ZooKeeperWatcher implements
           ke = e;
         }
       } while (isFinishedRetryingRecoverable(finished));
-      if (ke != null) throw ke;
+      // Convert connectionloss exception to ZKCE.
+      if (ke != null) throw new ZooKeeperConnectionException(ke);
       ZKUtil.createAndFailSilent(this, assignmentZNode);
       ZKUtil.createAndFailSilent(this, rsZNode);
       ZKUtil.createAndFailSilent(this, tableZNode);

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java?rev=1021791&r1=1021790&r2=1021791&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java Tue Oct 12 15:06:15 2010
@@ -58,6 +58,9 @@ public class TestMergeTool extends HBase
 
   @Override
   public void setUp() throws Exception {
+    // Set the timeout down else this test will take a while to complete.
+    this.conf.setLong("hbase.zookeeper.recoverable.waittime", 1000);
+
     this.conf.set("hbase.hstore.compactionThreshold", "2");
 
     // Create table description