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 <[email protected]> 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 <[email protected]> Authored: Mon Dec 18 13:39:25 2017 +0100 Committer: Michael Stack <[email protected]> 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()); } /**
