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