HBASE-8067 TestHFileArchiving.testArchiveOnTableDelete sometimes fails

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1484503 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2013-05-20 15:44:14 +00:00
parent 94a3efe1e9
commit 39e7e66ae9
1 changed files with 20 additions and 15 deletions

View File

@ -51,7 +51,6 @@ import org.apache.hadoop.hbase.util.StoppableImplementation;
import org.junit.After; import org.junit.After;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
@ -63,11 +62,8 @@ import org.junit.experimental.categories.Category;
@Category(MediumTests.class) @Category(MediumTests.class)
public class TestHFileArchiving { public class TestHFileArchiving {
private static final String STRING_TABLE_NAME = "test_table";
private static final Log LOG = LogFactory.getLog(TestHFileArchiving.class); private static final Log LOG = LogFactory.getLog(TestHFileArchiving.class);
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
private static final byte[] TABLE_NAME = Bytes.toBytes(STRING_TABLE_NAME);
private static final byte[] TEST_FAM = Bytes.toBytes("fam"); private static final byte[] TEST_FAM = Bytes.toBytes("fam");
/** /**
@ -95,18 +91,9 @@ public class TestHFileArchiving {
ConstantSizeRegionSplitPolicy.class.getName()); ConstantSizeRegionSplitPolicy.class.getName());
} }
@Before
public void setup() throws Exception {
UTIL.createTable(TABLE_NAME, TEST_FAM);
}
@After @After
public void tearDown() throws Exception { public void tearDown() throws Exception {
// cleanup the cluster if its up still // cleanup the archive directory
if (UTIL.getHBaseAdmin().tableExists(STRING_TABLE_NAME)) {
UTIL.deleteTable(TABLE_NAME);
}
// and cleanup the archive directory
try { try {
clearArchiveDirectory(); clearArchiveDirectory();
} catch (IOException e) { } catch (IOException e) {
@ -125,6 +112,9 @@ public class TestHFileArchiving {
@Test @Test
public void testRemovesRegionDirOnArchive() throws Exception { public void testRemovesRegionDirOnArchive() throws Exception {
byte[] TABLE_NAME = Bytes.toBytes("testRemovesRegionDirOnArchive");
UTIL.createTable(TABLE_NAME, TEST_FAM);
final HBaseAdmin admin = UTIL.getHBaseAdmin(); final HBaseAdmin admin = UTIL.getHBaseAdmin();
// get the current store files for the region // get the current store files for the region
@ -137,7 +127,7 @@ public class TestHFileArchiving {
UTIL.loadRegion(region, TEST_FAM); UTIL.loadRegion(region, TEST_FAM);
// shutdown the table so we can manipulate the files // shutdown the table so we can manipulate the files
admin.disableTable(STRING_TABLE_NAME); admin.disableTable(TABLE_NAME);
FileSystem fs = UTIL.getTestFileSystem(); FileSystem fs = UTIL.getTestFileSystem();
@ -161,6 +151,8 @@ public class TestHFileArchiving {
// then ensure the region's directory isn't present // then ensure the region's directory isn't present
assertFalse(fs.exists(regionDir)); assertFalse(fs.exists(regionDir));
UTIL.deleteTable(TABLE_NAME);
} }
/** /**
@ -170,6 +162,9 @@ public class TestHFileArchiving {
*/ */
@Test @Test
public void testDeleteRegionWithNoStoreFiles() throws Exception { public void testDeleteRegionWithNoStoreFiles() throws Exception {
byte[] TABLE_NAME = Bytes.toBytes("testDeleteRegionWithNoStoreFiles");
UTIL.createTable(TABLE_NAME, TEST_FAM);
// get the current store files for the region // get the current store files for the region
List<HRegion> servingRegions = UTIL.getHBaseCluster().getRegions(TABLE_NAME); List<HRegion> servingRegions = UTIL.getHBaseCluster().getRegions(TABLE_NAME);
// make sure we only have 1 region serving this table // make sure we only have 1 region serving this table
@ -209,10 +204,15 @@ public class TestHFileArchiving {
// and check to make sure the region directoy got deleted // and check to make sure the region directoy got deleted
assertFalse("Region directory (" + regionDir + "), still exists.", fs.exists(regionDir)); assertFalse("Region directory (" + regionDir + "), still exists.", fs.exists(regionDir));
UTIL.deleteTable(TABLE_NAME);
} }
@Test @Test
public void testArchiveOnTableDelete() throws Exception { public void testArchiveOnTableDelete() throws Exception {
byte[] TABLE_NAME = Bytes.toBytes("testArchiveOnTableDelete");
UTIL.createTable(TABLE_NAME, TEST_FAM);
List<HRegion> servingRegions = UTIL.getHBaseCluster().getRegions(TABLE_NAME); List<HRegion> servingRegions = UTIL.getHBaseCluster().getRegions(TABLE_NAME);
// make sure we only have 1 region serving this table // make sure we only have 1 region serving this table
assertEquals(1, servingRegions.size()); assertEquals(1, servingRegions.size());
@ -273,6 +273,9 @@ public class TestHFileArchiving {
*/ */
@Test @Test
public void testArchiveOnTableFamilyDelete() throws Exception { public void testArchiveOnTableFamilyDelete() throws Exception {
byte[] TABLE_NAME = Bytes.toBytes("testArchiveOnTableFamilyDelete");
UTIL.createTable(TABLE_NAME, TEST_FAM);
List<HRegion> servingRegions = UTIL.getHBaseCluster().getRegions(TABLE_NAME); List<HRegion> servingRegions = UTIL.getHBaseCluster().getRegions(TABLE_NAME);
// make sure we only have 1 region serving this table // make sure we only have 1 region serving this table
assertEquals(1, servingRegions.size()); assertEquals(1, servingRegions.size());
@ -324,6 +327,8 @@ public class TestHFileArchiving {
assertTrue("Archived files are missing some of the store files!", assertTrue("Archived files are missing some of the store files!",
archivedFiles.containsAll(storeFiles)); archivedFiles.containsAll(storeFiles));
UTIL.deleteTable(TABLE_NAME);
} }
/** /**