Author: jimk Date: Fri Apr 18 12:47:21 2008 New Revision: 649668 URL: http://svn.apache.org/viewvc?rev=649668&view=rev Log: HBASE-590 HBase migration tool does not get correct FileSystem or root directory if configuration is not correct. Commit change to trunk.
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Migrate.java Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Migrate.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Migrate.java?rev=649668&r1=649667&r2=649668&view=diff ============================================================================== --- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Migrate.java (original) +++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Migrate.java Fri Apr 18 12:47:21 2008 @@ -124,6 +124,20 @@ return -1; } + // Validate root directory path + + Path rd = new Path(conf.get(HConstants.HBASE_DIR)); + try { + // Validate root directory path + FSUtils.validateRootPath(rd); + } catch (IOException e) { + LOG.fatal("Not starting migration because the root directory path '" + + rd.toString() + "' is not valid. Check the setting of the" + + " configuration parameter '" + HConstants.HBASE_DIR + "'", e); + return -1; + } + this.conf.set("fs.default.name", rd.toString()); + try { // Verify file system is up. fs = FileSystem.get(conf); // get DFS handle @@ -315,13 +329,13 @@ LOG.info(message + " ignoring"); } else if (action == ACTION.DELETE) { LOG.info(message + " deleting"); - fs.delete(p); + fs.delete(p, true); } else { // ACTION.PROMPT String response = prompt(message + " delete? [y/n]"); if (response.startsWith("Y") || response.startsWith("y")) { LOG.info(message + " deleting"); - fs.delete(p); + fs.delete(p, true); } } }