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);
