HADOOP-8616. ViewFS configuration requires a trailing slash. Contributed by Sandy Ryza.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1392703 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2cfe24113b
commit
d1f4ec4ac8
@ -307,6 +307,9 @@ Release 2.0.3-alpha - Unreleased
|
||||
HADOOP-8791. Fix rm command documentation to indicte it deletes
|
||||
files and not directories. (Jing Zhao via suresh)
|
||||
|
||||
HADOOP-8616. ViewFS configuration requires a trailing slash. (Sandy Ryza
|
||||
via atm)
|
||||
|
||||
Release 2.0.2-alpha - 2012-09-07
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -89,7 +89,11 @@ protected Path fullPath(final Path path) {
|
||||
public ChRootedFileSystem(final URI uri, Configuration conf)
|
||||
throws IOException {
|
||||
super(FileSystem.get(uri, conf));
|
||||
chRootPathPart = new Path(uri.getPath());
|
||||
String pathString = uri.getPath();
|
||||
if (pathString.isEmpty()) {
|
||||
pathString = "/";
|
||||
}
|
||||
chRootPathPart = new Path(pathString);
|
||||
chRootPathPartString = chRootPathPart.toUri().getPath();
|
||||
myUri = uri;
|
||||
workingDir = getHomeDirectory();
|
||||
|
@ -205,9 +205,13 @@ public ViewFs(final Configuration conf) throws IOException,
|
||||
protected
|
||||
AbstractFileSystem getTargetFileSystem(final URI uri)
|
||||
throws URISyntaxException, UnsupportedFileSystemException {
|
||||
String pathString = uri.getPath();
|
||||
if (pathString.isEmpty()) {
|
||||
pathString = "/";
|
||||
}
|
||||
return new ChRootedFs(
|
||||
AbstractFileSystem.createFileSystem(uri, config),
|
||||
new Path(uri.getPath()));
|
||||
new Path(pathString));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -343,6 +343,15 @@ public void testDeleteOnExitPathHandling() throws IOException {
|
||||
verify(mockFs).delete(eq(rawPath), eq(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testURIEmptyPath() throws IOException {
|
||||
Configuration conf = new Configuration();
|
||||
conf.setClass("fs.mockfs.impl", MockFileSystem.class, FileSystem.class);
|
||||
|
||||
URI chrootUri = URI.create("mockfs://foo");
|
||||
new ChRootedFileSystem(chrootUri, conf);
|
||||
}
|
||||
|
||||
static class MockFileSystem extends FilterFileSystem {
|
||||
MockFileSystem() {
|
||||
super(mock(FileSystem.class));
|
||||
|
Loading…
Reference in New Issue
Block a user