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


Reply via email to