Repository: hbase
Updated Branches:
  refs/heads/0.98 efa813ed2 -> ad2d41d7a


HBASE-12264 ImportTsv should fail fast if output is not specified and table 
does not exist (Ashish)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ad2d41d7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ad2d41d7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ad2d41d7

Branch: refs/heads/0.98
Commit: ad2d41d7a49d704a7b4e6a43f4d194d982728ee2
Parents: efa813e
Author: Ted Yu <[email protected]>
Authored: Fri Oct 17 20:46:16 2014 +0000
Committer: Ted Yu <[email protected]>
Committed: Fri Oct 17 20:46:16 2014 +0000

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java |  5 +++++
 .../org/apache/hadoop/hbase/mapreduce/TestImportTsv.java  | 10 ++++++++++
 2 files changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/ad2d41d7/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java
index bb8ee36..a1f84bb 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/ImportTsv.java
@@ -457,6 +457,11 @@ public class ImportTsv extends Configured implements Tool {
       }
       HFileOutputFormat.configureIncrementalLoad(job, table);
     } else {
+      if (!admin.tableExists(tableName)) {
+        String errorMsg = format("Table '%s' does not exist.", tableName);
+        LOG.error(errorMsg);
+        throw new TableNotFoundException(errorMsg);
+      }
       if (mapperClass.equals(TsvImporterTextMapper.class)) {
         usage(TsvImporterTextMapper.class.toString()
             + " should not be used for non bulkloading case. use "

http://git-wip-us.apache.org/repos/asf/hbase/blob/ad2d41d7/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
index 9b4339f..2899122 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportTsv.java
@@ -242,6 +242,16 @@ public class TestImportTsv implements Configurable {
     ImportTsv.createSubmittableJob(conf, args);
   }
 
+  @Test(expected = TableNotFoundException.class)
+  public void testMRWithoutAnExistingTable() throws Exception {
+    String table = "test-" + UUID.randomUUID();
+    String[] args =
+        new String[] { table, "/inputFile" };
+
+    Configuration conf = new Configuration(util.getConfiguration());
+    ImportTsv.createSubmittableJob(conf, args);
+  }
+
   protected static Tool doMROnTableTest(HBaseTestingUtility util, String 
family,
       String data, String[] args) throws Exception {
     return doMROnTableTest(util, family, data, args, 1);

Reply via email to