Repository: hbase
Updated Branches:
  refs/heads/branch-1 10ebc4913 -> 3feec7742


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/3feec774
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3feec774
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3feec774

Branch: refs/heads/branch-1
Commit: 3feec774217f69f3c19edeeaa3fde9c4859d302b
Parents: 10ebc49
Author: Ted Yu <[email protected]>
Authored: Fri Oct 17 20:45:05 2014 +0000
Committer: Ted Yu <[email protected]>
Committed: Fri Oct 17 20:45:05 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/3feec774/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 9f723db..02ebef4 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
@@ -459,6 +459,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/3feec774/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 b22a19a..38af577 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
@@ -243,6 +243,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