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 23:54:32 UTC
git commit: HBASE-11517 TestReplicaWithCluster turns zombie (Mikhail
Antonov) -- REAPPLY
Repository: hbase
Updated Branches:
refs/heads/master 782b1456f -> 3455065a7
HBASE-11517 TestReplicaWithCluster turns zombie (Mikhail Antonov) -- REAPPLY
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/3455065a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3455065a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3455065a
Branch: refs/heads/master
Commit: 3455065a75784d38fec348bd413c61dd316208f9
Parents: 782b145
Author: stack <st...@apache.org>
Authored: Wed Jul 16 14:54:20 2014 -0700
Committer: stack <st...@apache.org>
Committed: Wed Jul 16 14:54:20 2014 -0700
----------------------------------------------------------------------
.../hbase/client/TestReplicaWithCluster.java | 63 +++++++++-----------
1 file changed, 29 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/3455065a/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..d8baea4 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,14 @@ 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();
+ admin.close();
}
@Test (timeout=30000)
@@ -239,30 +240,28 @@ 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());
+ admin.close();
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);
@@ -275,16 +274,13 @@ public class TestReplicaWithCluster {
SlowMeCopro.sleepTime.set(0);
}
}});
- } finally {
- if (table != null) table.close();
- }
+ 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);
@@ -297,9 +293,7 @@ public class TestReplicaWithCluster {
SlowMeCopro.sleepTime.set(0);
}
}});
- } finally {
- if (table2 != null) table2.close();
- }
+ table2.close();
HTU.getHBaseAdmin().disableTable(hdt.getTableName());
HTU.deleteTable(hdt.getTableName());
@@ -307,10 +301,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");