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 2014/07/16 22:53:51 UTC

git commit: HBASE-11517 TestReplicaWithCluster turns zombie (Mikhail Antonov)

Repository: hbase
Updated Branches:
  refs/heads/master 76543f525 -> 688877606


HBASE-11517 TestReplicaWithCluster turns zombie (Mikhail Antonov)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/68887760
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/68887760
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/68887760

Branch: refs/heads/master
Commit: 688877606b10d80e4dede3c30deb4e922ad09a5a
Parents: 76543f5
Author: stack <st...@apache.org>
Authored: Wed Jul 16 13:53:20 2014 -0700
Committer: stack <st...@apache.org>
Committed: Wed Jul 16 13:53:44 2014 -0700

----------------------------------------------------------------------
 .../hbase/client/TestReplicaWithCluster.java    | 68 +++++++++-----------
 1 file changed, 30 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/68887760/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java
index 2c1f52b..3b6c71f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicaWithCluster.java
@@ -65,6 +65,9 @@ public class TestReplicaWithCluster {
   private static final int NB_SERVERS = 2;
   private static final byte[] row = TestReplicaWithCluster.class.getName().getBytes();
   private static final HBaseTestingUtility HTU = new HBaseTestingUtility();
+
+  // second minicluster used in testing of replication
+  private static HBaseTestingUtility HTU2;
   private static final byte[] f = HConstants.CATALOG_FAMILY;
 
   private final static int REFRESH_PERIOD = 1000;
@@ -126,6 +129,7 @@ public class TestReplicaWithCluster {
 
   @AfterClass
   public static void afterClass() throws Exception {
+    HTU2.shutdownMiniCluster();
     HTU.shutdownMiniCluster();
   }
 
@@ -210,17 +214,13 @@ public class TestReplicaWithCluster {
 
     HTU.getHBaseCluster().stopMaster(0);
     HBaseAdmin admin = new HBaseAdmin(HTU.getConfiguration());
-    try {
-      nHdt = admin.getTableDescriptor(hdt.getTableName());
-      Assert.assertEquals("fams=" + Arrays.toString(nHdt.getColumnFamilies()),
+    nHdt =admin.getTableDescriptor(hdt.getTableName());
+    Assert.assertEquals("fams=" + Arrays.toString(nHdt.getColumnFamilies()),
         bHdt.getColumnFamilies().length + 1, nHdt.getColumnFamilies().length);
 
-      admin.disableTable(hdt.getTableName());
-      admin.deleteTable(hdt.getTableName());
-      HTU.getHBaseCluster().startMaster();
-    } finally {
-      if (admin != null) admin.close();
-    }
+    admin.disableTable(hdt.getTableName());
+    admin.deleteTable(hdt.getTableName());
+    HTU.getHBaseCluster().startMaster();
   }
 
   @Test (timeout=30000)
@@ -239,30 +239,27 @@ public class TestReplicaWithCluster {
     conf2.set(HConstants.HBASE_CLIENT_INSTANCE_ID, String.valueOf(-1));
     conf2.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/2");
     MiniZooKeeperCluster miniZK = HTU.getZkCluster();
-    HBaseTestingUtility HTU2 = new HBaseTestingUtility(conf2);
+
+    HTU2 = new HBaseTestingUtility(conf2);
     HTU2.setZkCluster(miniZK);
     HTU2.startMiniCluster(NB_SERVERS);
     LOG.info("Setup second Zk");
     HTU2.getHBaseAdmin().createTable(hdt, HBaseTestingUtility.KEYS_FOR_HBA_CREATE_TABLE);
 
     ReplicationAdmin admin = new ReplicationAdmin(HTU.getConfiguration());
-    try {
-      admin.addPeer("2", HTU2.getClusterKey());
-    } finally {
-      if (admin != null) admin.close();
-    }
+    admin.addPeer("2", HTU2.getClusterKey());
 
     Put p = new Put(row);
     p.add(row, row, row);
     final HTable table = new HTable(HTU.getConfiguration(), hdt.getTableName());
-    try {
-      table.put(p);
-      HTU.getHBaseAdmin().flush(table.getTableName());
-      LOG.info("Put & flush done on the first cluster. Now doing a get on the same cluster.");
+    table.put(p);
 
-      Waiter.waitFor(HTU.getConfiguration(), 1000, new Waiter.Predicate<Exception>() {
-        @Override
-        public boolean evaluate() throws Exception {
+    HTU.getHBaseAdmin().flush(table.getTableName());
+    LOG.info("Put & flush done on the first cluster. Now doing a get on the same cluster.");
+
+    Waiter.waitFor(HTU.getConfiguration(), 1000, new Waiter.Predicate<Exception>() {
+      @Override
+      public boolean evaluate() throws Exception {
         try {
           SlowMeCopro.cdl.set(new CountDownLatch(1));
           Get g = new Get(row);
@@ -273,18 +270,15 @@ public class TestReplicaWithCluster {
         } finally {
           SlowMeCopro.cdl.get().countDown();
           SlowMeCopro.sleepTime.set(0);
-        }
-      }});
-    } finally {
-      if (table != null) table.close();
-    }
+        }      }
+    });
+
     LOG.info("stale get on the first cluster done. Now for the second.");
 
     final HTable table2 = new HTable(HTU.getConfiguration(), hdt.getTableName());
-    try {
-      Waiter.waitFor(HTU.getConfiguration(), 1000, new Waiter.Predicate<Exception>() {
-        @Override
-        public boolean evaluate() throws Exception {
+    Waiter.waitFor(HTU.getConfiguration(), 1000, new Waiter.Predicate<Exception>() {
+      @Override
+      public boolean evaluate() throws Exception {
         try {
           SlowMeCopro.cdl.set(new CountDownLatch(1));
           Get g = new Get(row);
@@ -295,11 +289,8 @@ public class TestReplicaWithCluster {
         } finally {
           SlowMeCopro.cdl.get().countDown();
           SlowMeCopro.sleepTime.set(0);
-        }
-      }});
-    } finally {
-      if (table2 != null) table2.close();
-    }
+        }      }
+    });
 
     HTU.getHBaseAdmin().disableTable(hdt.getTableName());
     HTU.deleteTable(hdt.getTableName());
@@ -307,10 +298,11 @@ public class TestReplicaWithCluster {
     HTU2.getHBaseAdmin().disableTable(hdt.getTableName());
     HTU2.deleteTable(hdt.getTableName());
 
-    HTU2.shutdownMiniCluster();
+    // We shutdown HTU2 minicluster later, in afterClass(), as shutting down
+    // the minicluster has negative impact of deleting all HConnections in JVM.
   }
 
-  @Test
+  @Test (timeout=30000)
   public void testBulkLoad() throws IOException {
     // Create table then get the single region for our new table.
     LOG.debug("Creating test table");