You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2017/12/18 23:28:12 UTC

hbase git commit: HBASE-19549 Change path comparison in CommonFSUtils

Repository: hbase
Updated Branches:
  refs/heads/master b4056d267 -> abae90787


HBASE-19549 Change path comparison in CommonFSUtils

Also change makeQualified(FileSystem fs)
to makeQualified(URI defaultUri, Path workingDir)

Signed-off-by: Michael Stack <st...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/abae9078
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/abae9078
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/abae9078

Branch: refs/heads/master
Commit: abae90787fdf2a207ebacae3223eee21cf3f7659
Parents: b4056d2
Author: Peter Somogyi <ps...@cloudera.com>
Authored: Mon Dec 18 13:39:25 2017 +0100
Committer: Michael Stack <st...@apache.org>
Committed: Mon Dec 18 15:27:39 2017 -0800

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/util/CommonFSUtils.java  | 10 ++++++----
 .../apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/abae9078/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java
index eba3b12..0e0372c 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java
@@ -356,7 +356,7 @@ public abstract class CommonFSUtils {
   public static Path getRootDir(final Configuration c) throws IOException {
     Path p = new Path(c.get(HConstants.HBASE_DIR));
     FileSystem fs = p.getFileSystem(c);
-    return p.makeQualified(fs);
+    return p.makeQualified(fs.getUri(), fs.getWorkingDirectory());
   }
 
   public static void setRootDir(final Configuration c, final Path root) throws IOException {
@@ -384,7 +384,7 @@ public abstract class CommonFSUtils {
       return getRootDir(c);
     }
     FileSystem fs = p.getFileSystem(c);
-    return p.makeQualified(fs);
+    return p.makeQualified(fs.getUri(), fs.getWorkingDirectory());
   }
 
   @VisibleForTesting
@@ -399,8 +399,10 @@ public abstract class CommonFSUtils {
 
   private static boolean isValidWALRootDir(Path walDir, final Configuration c) throws IOException {
     Path rootDir = getRootDir(c);
-    if (!walDir.equals(rootDir)) {
-      if (walDir.toString().startsWith(rootDir.toString() + "/")) {
+    FileSystem fs = walDir.getFileSystem(c);
+    Path qualifiedWalDir = walDir.makeQualified(fs.getUri(), fs.getWorkingDirectory());
+    if (!qualifiedWalDir.equals(rootDir)) {
+      if (qualifiedWalDir.toString().startsWith(rootDir.toString() + "/")) {
         throw new IllegalStateException("Illegal WAL directory specified. " +
             "WAL directories are not permitted to be under the root directory if set.");
       }

http://git-wip-us.apache.org/repos/asf/hbase/blob/abae9078/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java
----------------------------------------------------------------------
diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java
index c37f284..dc3bb61 100644
--- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java
+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java
@@ -965,7 +965,7 @@ public class TableMapReduceUtil {
     }
 
     LOG.debug(String.format("For class %s, using jar %s", my_class.getName(), jar));
-    return new Path(jar).makeQualified(fs);
+    return new Path(jar).makeQualified(fs.getUri(), fs.getWorkingDirectory());
   }
 
   /**