[
https://issues.apache.org/jira/browse/HBASE-5198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sujee Maniyam updated HBASE-5198:
---------------------------------
Release Note: --presplit option will not re-create TestTable if it already
exists
Status: Patch Available (was: Open)
diff --git a/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
b/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index 16c7653..c6a8ffa 100644
--- a/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ b/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -466,29 +466,26 @@ public class PerformanceEvaluation {
*/
private boolean checkTable(HBaseAdmin admin) throws IOException {
HTableDescriptor tableDescriptor = getTableDescriptor();
- if (this.presplitRegions > 0) {
- // presplit requested
- if (admin.tableExists(tableDescriptor.getName())) {
- admin.disableTable(tableDescriptor.getName());
- admin.deleteTable(tableDescriptor.getName());
- }
-
- byte[][] splits = getSplits();
- for (int i=0; i < splits.length; i++) {
- LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));
- }
- admin.createTable(tableDescriptor, splits);
- LOG.info ("Table created with " + this.presplitRegions + " splits");
- }
- else {
- boolean tableExists = admin.tableExists(tableDescriptor.getName());
- if (!tableExists) {
+ boolean tableExists = admin.tableExists(tableDescriptor.getName());
+ if (!tableExists) {
+ if (this.presplitRegions > 0) {
+ // presplit requested
+ byte[][] splits = getSplits();
+ for (int i = 0; i < splits.length; i++) {
+ LOG.debug(" split " + i + ": " + Bytes.toStringBinary(splits[i]));
+ }
+ admin.createTable(tableDescriptor, splits);
+ LOG.info("Table created with " + this.presplitRegions + " splits");
+ } else {
admin.createTable(tableDescriptor);
LOG.info("Table " + tableDescriptor + " created");
}
+ } else if (this.presplitRegions > 0) {
+ // presplit option has no effect if table already exists
+ LOG.warn("Table '" + tableDescriptor.getNameAsString()
+ + "' already exists. --presplit option did not take effect");
}
- boolean tableExists = admin.tableExists(tableDescriptor.getName());
- return tableExists;
+ return admin.tableExists(tableDescriptor.getName());
}
protected HTableDescriptor getTableDescriptor() {
> PerformanceEvaluation --presplit option should not recreate TestTable if it
> exists
> ----------------------------------------------------------------------------------
>
> Key: HBASE-5198
> URL: https://issues.apache.org/jira/browse/HBASE-5198
> Project: HBase
> Issue Type: Improvement
> Components: util
> Reporter: Sujee Maniyam
> Assignee: Sujee Maniyam
> Priority: Minor
> Labels: benchmark
>
> --presplit option was added in
> https://issues.apache.org/jira/browse/HBASE-4440
> It drops and re-creates TestTable if the table exists.
> This behavior in-consistent with previous ones. If TestTable exists, it
> shouldn't be re-created
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira