HBASE-12322 Add Clean command to ITBLL

Signed-off-by: stack <stack@apache.org>

Conflicts:
	hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java
This commit is contained in:
Elliott Clark 2014-10-22 16:23:53 -07:00 committed by stack
parent 46e4bffc2c
commit 64c67ffad2
1 changed files with 33 additions and 0 deletions

View File

@ -39,6 +39,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured; import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HBaseTestingUtility;
@ -48,6 +49,7 @@ import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.IntegrationTestBase; import org.apache.hadoop.hbase.IntegrationTestBase;
import org.apache.hadoop.hbase.IntegrationTestingUtility; import org.apache.hadoop.hbase.IntegrationTestingUtility;
import org.apache.hadoop.hbase.IntegrationTests; import org.apache.hadoop.hbase.IntegrationTests;
import org.apache.hadoop.hbase.fs.HFileSystem;
import org.apache.hadoop.hbase.MasterNotRunningException; import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Admin;
@ -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 <output dir>");
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) { static TableName getTableName(Configuration conf) {
return TableName.valueOf(conf.get(TABLE_NAME_KEY, DEFAULT_TABLE_NAME)); 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(" single node.");
System.err.println(" Loop A program to Loop through Generator and"); System.err.println(" Loop A program to Loop through Generator and");
System.err.println(" Verify steps"); System.err.println(" Verify steps");
System.err.println(" Clean A program to clean all left over detritus.");
System.err.println("\t "); System.err.println("\t ");
System.err.flush(); System.err.flush();
} }
@ -1145,6 +1176,8 @@ public class IntegrationTestBigLinkedList extends IntegrationTestBase {
tool = new Print(); tool = new Print();
} else if (toRun.equals("Delete")) { } else if (toRun.equals("Delete")) {
tool = new Delete(); tool = new Delete();
} else if (toRun.equals("Clean")) {
tool = new Clean();
} else { } else {
usage(); usage();
throw new RuntimeException("Unknown arg"); throw new RuntimeException("Unknown arg");