From 52f7000373ae30762ceb7b91ed43a271aafaa994 Mon Sep 17 00:00:00 2001 From: jxiang Date: Mon, 18 Jun 2012 17:47:46 +0000 Subject: [PATCH] HBASE-6202 Medium tests fail with jdk1.7 git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1351423 13f79535-47bb-0310-9956-ffa450edef68 --- .../hbase/coprocessor/TestClassLoading.java | 12 +- .../hbase/coprocessor/TestMasterObserver.java | 140 ++++++++++-------- .../hbase/master/TestSplitLogManager.java | 10 +- .../util/TestEnvironmentEdgeManager.java | 1 + .../hbase/util/TestFSTableDescriptors.java | 2 +- 5 files changed, 94 insertions(+), 71 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java index d69f5892e48..7c66149ea72 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestClassLoading.java @@ -235,7 +235,9 @@ public class TestClassLoading { "|" + Coprocessor.PRIORITY_USER + "|k1=v1,k2=v2,k3=v3"); HBaseAdmin admin = new HBaseAdmin(this.conf); if (admin.tableExists(tableName)) { - admin.disableTable(tableName); + if (admin.isTableEnabled(tableName)) { + admin.disableTable(tableName); + } admin.deleteTable(tableName); } admin.createTable(htd); @@ -337,7 +339,9 @@ public class TestClassLoading { HBaseAdmin admin = new HBaseAdmin(this.conf); if (admin.tableExists(tableName)) { - admin.disableTable(tableName); + if (admin.isTableEnabled(tableName)) { + admin.disableTable(tableName); + } admin.deleteTable(tableName); } admin.createTable(htd); @@ -439,7 +443,9 @@ public class TestClassLoading { "|" + Coprocessor.PRIORITY_USER + "|k1=v1,k2=v2,k3=v3"); HBaseAdmin admin = new HBaseAdmin(this.conf); if (admin.tableExists(tableName)) { - admin.disableTable(tableName); + if (admin.isTableEnabled(tableName)) { + admin.disableTable(tableName); + } admin.deleteTable(tableName); } admin.createTable(htd); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java index f5cbb9f6276..8d0a3b1ad61 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java @@ -916,75 +916,87 @@ public class TestMasterObserver { cp.resetStates(); HTable table = UTIL.createTable(TEST_TABLE, TEST_FAMILY); - int countOfRegions = UTIL.createMultiRegions(table, TEST_FAMILY); - UTIL.waitUntilAllRegionsAssigned(countOfRegions); - NavigableMap regions = table.getRegionLocations(); - Map.Entry firstGoodPair = null; - for (Map.Entry e: regions.entrySet()) { - if (e.getValue() != null) { - firstGoodPair = e; - break; + try { + int countOfRegions = UTIL.createMultiRegions(table, TEST_FAMILY); + UTIL.waitUntilAllRegionsAssigned(countOfRegions); + + NavigableMap regions = table.getRegionLocations(); + Map.Entry firstGoodPair = null; + for (Map.Entry e: regions.entrySet()) { + if (e.getValue() != null) { + firstGoodPair = e; + break; + } } - } - assertNotNull("Found a non-null entry", firstGoodPair); - LOG.info("Found " + firstGoodPair.toString()); - // Try to force a move - Collection servers = master.getClusterStatus().getServers(); - String destName = null; - String serverNameForFirstRegion = firstGoodPair.getValue().toString(); - LOG.info("serverNameForFirstRegion=" + serverNameForFirstRegion); - boolean found = false; - // Find server that is NOT carrying the first region - for (ServerName info : servers) { - LOG.info("ServerName=" + info); - if (!serverNameForFirstRegion.equals(info.getServerName())) { - destName = info.toString(); - found = true; - break; + assertNotNull("Found a non-null entry", firstGoodPair); + LOG.info("Found " + firstGoodPair.toString()); + // Try to force a move + Collection servers = master.getClusterStatus().getServers(); + String destName = null; + String serverNameForFirstRegion = firstGoodPair.getValue().toString(); + LOG.info("serverNameForFirstRegion=" + serverNameForFirstRegion); + boolean found = false; + // Find server that is NOT carrying the first region + for (ServerName info : servers) { + LOG.info("ServerName=" + info); + if (!serverNameForFirstRegion.equals(info.getServerName())) { + destName = info.toString(); + found = true; + break; + } } - } - assertTrue("Found server", found); - LOG.info("Found " + destName); - master.moveRegion(null,RequestConverter.buildMoveRegionRequest( - firstGoodPair.getKey().getEncodedNameAsBytes(),Bytes.toBytes(destName))); - assertTrue("Coprocessor should have been called on region move", - cp.wasMoveCalled()); - - // make sure balancer is on - master.balanceSwitch(true); - assertTrue("Coprocessor should have been called on balance switch", - cp.wasBalanceSwitchCalled()); - - // force region rebalancing - master.balanceSwitch(false); - // move half the open regions from RS 0 to RS 1 - HRegionServer rs = cluster.getRegionServer(0); - byte[] destRS = Bytes.toBytes(cluster.getRegionServer(1).getServerName().toString()); - List openRegions = ProtobufUtil.getOnlineRegions(rs); - int moveCnt = openRegions.size()/2; - for (int i=0; i transRegions = + mgr.copyRegionsInTransition().values(); + for (AssignmentManager.RegionState state : transRegions) { + mgr.waitOnRegionToClearRegionsInTransition(state.getRegion()); } + + // move half the open regions from RS 0 to RS 1 + HRegionServer rs = cluster.getRegionServer(0); + byte[] destRS = Bytes.toBytes(cluster.getRegionServer(1).getServerName().toString()); + List openRegions = ProtobufUtil.getOnlineRegions(rs); + int moveCnt = openRegions.size()/2; + for (int i=0; i transRegions = - mgr.copyRegionsInTransition().values(); - for (AssignmentManager.RegionState state : transRegions) { - mgr.waitOnRegionToClearRegionsInTransition(state.getRegion()); - } - - // now trigger a balance - master.balanceSwitch(true); - boolean balanceRun = master.balance(); - assertTrue("Coprocessor should be called on region rebalancing", - cp.wasBalanceCalled()); - table.close(); } @org.junit.Rule diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitLogManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitLogManager.java index 755366b6202..be87ca01092 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitLogManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestSplitLogManager.java @@ -83,8 +83,7 @@ public class TestSplitLogManager { private SplitLogManager slm; private Configuration conf; - private final static HBaseTestingUtility TEST_UTIL = - new HBaseTestingUtility(); + private static HBaseTestingUtility TEST_UTIL; /** * Additional amount of time we wait for events to happen. Added where unit @@ -115,6 +114,7 @@ public class TestSplitLogManager { @Before public void setup() throws Exception { + TEST_UTIL = new HBaseTestingUtility(); TEST_UTIL.startMiniZKCluster(); conf = TEST_UTIL.getConfiguration(); // Use a different ZK wrapper instance for each tests. @@ -222,7 +222,6 @@ public class TestSplitLogManager { conf.setInt("hbase.splitlog.manager.timeoutmonitor.period", 100); to = to + 2 * 100; - slm = new SplitLogManager(zkw, conf, stopper, DUMMY_MASTER, null); slm.finishInitialization(); waitForCounter(tot_mgr_orphan_task_acquired, 0, 1, 100); @@ -504,7 +503,12 @@ public class TestSplitLogManager { @Test(timeout=45000) public void testVanishingTaskZNode() throws Exception { LOG.info("testVanishingTaskZNode"); + + int to = 1000; + conf.setInt("hbase.splitlog.manager.timeout", to); + conf.setInt("hbase.splitlog.manager.timeoutmonitor.period", 100); conf.setInt("hbase.splitlog.manager.unassigned.timeout", 0); + slm = new SplitLogManager(zkw, conf, stopper, DUMMY_MASTER, null); slm.finishInitialization(); FileSystem fs = TEST_UTIL.getTestFileSystem(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestEnvironmentEdgeManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestEnvironmentEdgeManager.java index 59b2c2bc5a2..1c95e83b8f0 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestEnvironmentEdgeManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestEnvironmentEdgeManager.java @@ -37,6 +37,7 @@ public class TestEnvironmentEdgeManager { @Test public void testManageSingleton() { + EnvironmentEdgeManager.reset(); EnvironmentEdge edge = EnvironmentEdgeManager.getDelegate(); assertNotNull(edge); assertTrue(edge instanceof DefaultEnvironmentEdge); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestFSTableDescriptors.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestFSTableDescriptors.java index 0db4d425f73..028d2883f3c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestFSTableDescriptors.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestFSTableDescriptors.java @@ -54,7 +54,7 @@ public class TestFSTableDescriptors { @Test public void testCreateAndUpdate() throws IOException { - Path testdir = UTIL.getDataTestDir(); + Path testdir = UTIL.getDataTestDir("testCreateAndUpdate"); HTableDescriptor htd = new HTableDescriptor("testCreate"); FileSystem fs = FileSystem.get(UTIL.getConfiguration()); assertTrue(FSTableDescriptors.createTableDescriptor(fs, testdir, htd));