You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ki...@apache.org on 2019/09/19 13:27:40 UTC
[hadoop] branch branch-2 updated: HADOOP-16582. LocalFileSystem's
mkdirs() does not work as expected under viewfs. Contributed by Kihwal Lee
This is an automated email from the ASF dual-hosted git repository.
kihwal pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new ca93156 HADOOP-16582. LocalFileSystem's mkdirs() does not work as expected under viewfs. Contributed by Kihwal Lee
ca93156 is described below
commit ca93156cc5eb5a06ad025dc5ce87c3c49599bd79
Author: Kihwal Lee <ki...@apache.org>
AuthorDate: Thu Sep 19 08:27:23 2019 -0500
HADOOP-16582. LocalFileSystem's mkdirs() does not work as expected under viewfs. Contributed by Kihwal Lee
(cherry picked from commit d4205dce176287e863f567b333e0d408bf51ae6d)
---
.../java/org/apache/hadoop/fs/FilterFileSystem.java | 4 ++++
.../org/apache/hadoop/fs/viewfs/ChRootedFileSystem.java | 5 +++++
.../org/apache/hadoop/fs/viewfs/ViewFileSystem.java | 17 +++++++++++++++--
.../java/org/apache/hadoop/fs/TestFilterFileSystem.java | 1 -
4 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FilterFileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FilterFileSystem.java
index 954a041..1c38df8 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FilterFileSystem.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FilterFileSystem.java
@@ -320,6 +320,10 @@ public class FilterFileSystem extends FileSystem {
return fs.mkdirs(f, permission);
}
+ @Override
+ public boolean mkdirs(Path f) throws IOException {
+ return fs.mkdirs(f);
+ }
/**
* The src file is on the local disk. Add it to FS at
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ChRootedFileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ChRootedFileSystem.java
index 5eeff15..3d8f03a 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ChRootedFileSystem.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ChRootedFileSystem.java
@@ -256,6 +256,11 @@ class ChRootedFileSystem extends FilterFileSystem {
}
@Override
+ public boolean mkdirs(final Path f) throws IOException {
+ return super.mkdirs(fullPath(f));
+ }
+
+ @Override
public FSDataInputStream open(final Path f, final int bufferSize)
throws IOException {
return super.open(fullPath(f), bufferSize);
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java
index 27d8c0b..4c73eae 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/ViewFileSystem.java
@@ -448,11 +448,18 @@ public class ViewFileSystem extends FileSystem {
}
@Override
+ public boolean mkdirs(Path dir) throws IOException {
+ InodeTree.ResolveResult<FileSystem> res =
+ fsState.resolve(getUriPath(dir), false);
+ return res.targetFileSystem.mkdirs(res.remainingPath);
+ }
+
+ @Override
public boolean mkdirs(final Path dir, final FsPermission permission)
throws IOException {
InodeTree.ResolveResult<FileSystem> res =
- fsState.resolve(getUriPath(dir), false);
- return res.targetFileSystem.mkdirs(res.remainingPath, permission);
+ fsState.resolve(getUriPath(dir), false);
+ return res.targetFileSystem.mkdirs(res.remainingPath, permission);
}
@Override
@@ -944,6 +951,12 @@ public class ViewFileSystem extends FileSystem {
}
@Override
+ public boolean mkdirs(Path dir)
+ throws AccessControlException, FileAlreadyExistsException {
+ return mkdirs(dir, null);
+ }
+
+ @Override
public FSDataInputStream open(Path f, int bufferSize)
throws AccessControlException, FileNotFoundException, IOException {
checkPathIsSlash(f);
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFilterFileSystem.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFilterFileSystem.java
index c72f579..7c0115e 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFilterFileSystem.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestFilterFileSystem.java
@@ -77,7 +77,6 @@ public class TestFilterFileSystem {
boolean overwrite, int bufferSize, short replication, long blockSize,
Progressable progress) throws IOException;
- public boolean mkdirs(Path f);
public FSDataInputStream open(Path f);
public FSDataOutputStream create(Path f);
public FSDataOutputStream create(Path f, boolean overwrite);
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org