diff --git a/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java b/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java index 15c5088160711640771d12572f3e8bdc992e9daa..4dc5bc7253660435b74978d81055f09675167105 100644 --- a/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java +++ b/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient.java @@ -32,6 +32,7 @@ import java.util.*; import com.yahoo.ycsb.measurements.Measurements; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.HTable; //import org.apache.hadoop.hbase.client.Scanner; import org.apache.hadoop.hbase.client.Get; @@ -99,6 +100,19 @@ public class HBaseClient extends com.yahoo.ycsb.DB } _columnFamilyBytes = Bytes.toBytes(_columnFamily); + // Terminate right now if table does not exist, since the client + // will not propagate this error upstream once the workload + // starts. + String table = com.yahoo.ycsb.workloads.CoreWorkload.table; + try + { + HTable ht = new HTable(config, table); + HTableDescriptor dsc = ht.getTableDescriptor(); + } + catch (IOException e) + { + throw new DBException(e); + } } /** diff --git a/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java b/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java index 7adef892c698493557c09aaf58023c7296b248d6..b4e949873f5797920b9e4005c3f183a33b5c2486 100644 --- a/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java +++ b/hbase/src/main/java/com/yahoo/ycsb/db/HBaseClient10.java @@ -27,6 +27,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.BufferedMutator; @@ -36,6 +37,7 @@ import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.Get; +import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; @@ -133,6 +135,20 @@ public class HBaseClient10 extends com.yahoo.ycsb.DB throw new DBException("No columnfamily specified"); } _columnFamilyBytes = Bytes.toBytes(_columnFamily); + + // Terminate right now if table does not exist, since the client + // will not propagate this error upstream once the workload + // starts. + String table = com.yahoo.ycsb.workloads.CoreWorkload.table; + try + { + final TableName tableName = TableName.valueOf(table); + HTableDescriptor dsc = _connection.getTable(tableName).getTableDescriptor(); + } + catch (IOException e) + { + throw new DBException(e); + } } /**