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");