From 9e1ceb1271c63fe76e79456e42e725ce43fe9f3c Mon Sep 17 00:00:00 2001 From: Elliott Clark Date: Wed, 22 Oct 2014 16:23:53 -0700 Subject: [PATCH] HBASE-12322 Add Clean command to ITBLL --- .../hbase/test/IntegrationTestBigLinkedList.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java index f5e5506..177341f 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java @@ -39,6 +39,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured; +import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HBaseTestingUtility; @@ -47,6 +48,7 @@ import org.apache.hadoop.hbase.HRegionLocation; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.IntegrationTestBase; import org.apache.hadoop.hbase.IntegrationTestingUtility; +import org.apache.hadoop.hbase.fs.HFileSystem; import org.apache.hadoop.hbase.testclassification.IntegrationTests; import org.apache.hadoop.hbase.MasterNotRunningException; import org.apache.hadoop.hbase.TableName; @@ -1037,6 +1039,34 @@ public class IntegrationTestBigLinkedList extends IntegrationTestBase { } } + private static class Clean extends Configured implements Tool { + + @Override public int run(String[] args) throws Exception { + if (args.length < 1) { + System.err.println("Usage: Clean "); + return -1; + } + + Path p = new Path(args[0]); + Configuration conf = getConf(); + TableName tableName = getTableName(conf); + + FileSystem fs = HFileSystem.get(conf); + Admin admin = new HBaseAdmin(conf); + + if (admin.tableExists(tableName)) { + admin.disableTable(tableName); + admin.deleteTable(tableName); + } + + if (fs.exists(p)) { + fs.delete(p, true); + } + + return 0; + } + } + static TableName getTableName(Configuration conf) { return TableName.valueOf(conf.get(TABLE_NAME_KEY, DEFAULT_TABLE_NAME)); } @@ -1110,6 +1140,7 @@ public class IntegrationTestBigLinkedList extends IntegrationTestBase { System.err.println(" single node."); System.err.println(" Loop A program to Loop through Generator and"); System.err.println(" Verify steps"); + System.err.println(" Clean A program to clean all left over detritus."); System.err.println("\t "); System.err.flush(); } @@ -1145,6 +1176,8 @@ public class IntegrationTestBigLinkedList extends IntegrationTestBase { tool = new Print(); } else if (toRun.equals("Delete")) { tool = new Delete(); + } else if (toRun.equals("Clean")) { + tool = new Clean(); } else { usage(); throw new RuntimeException("Unknown arg"); -- 2.1.1