HDFS-9431. DistributedFileSystem#concat fails if the target path is relative. Contributed by Kazuho Fujii.
(cherry picked from commitac1aa6c819
) (cherry picked from commitc74e42b4a2
)
This commit is contained in:
parent
82de3e1c11
commit
bb6983e153
|
@ -1163,6 +1163,9 @@ Release 2.6.3 - UNRELEASED
|
||||||
HDFS-8615. Correct HTTP method in WebHDFS document.
|
HDFS-8615. Correct HTTP method in WebHDFS document.
|
||||||
(Brahma Reddy Battula via aajisaka)
|
(Brahma Reddy Battula via aajisaka)
|
||||||
|
|
||||||
|
HDFS-9431. DistributedFileSystem#concat fails if the target path is
|
||||||
|
relative. (Kazuho Fujii via aajisaka)
|
||||||
|
|
||||||
Release 2.6.2 - 2015-10-28
|
Release 2.6.2 - 2015-10-28
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -586,7 +586,7 @@ public class DistributedFileSystem extends FileSystem {
|
||||||
for (int i=0; i<psrcs.length; i++) {
|
for (int i=0; i<psrcs.length; i++) {
|
||||||
srcsStr[i] = getPathName(srcs[i]);
|
srcsStr[i] = getPathName(srcs[i]);
|
||||||
}
|
}
|
||||||
dfs.concat(getPathName(trg), srcsStr);
|
dfs.concat(getPathName(absF), srcsStr);
|
||||||
} catch (UnresolvedLinkException e) {
|
} catch (UnresolvedLinkException e) {
|
||||||
// Exception could be from trg or any src.
|
// Exception could be from trg or any src.
|
||||||
// Fully resolve trg and srcs. Fail if any of them are a symlink.
|
// Fully resolve trg and srcs. Fail if any of them are a symlink.
|
||||||
|
|
|
@ -490,4 +490,17 @@ public class TestHDFSConcat {
|
||||||
Assert.assertEquals(blockSize * repl * (srcNum + 1),
|
Assert.assertEquals(blockSize * repl * (srcNum + 1),
|
||||||
summary.getSpaceConsumed());
|
summary.getSpaceConsumed());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testConcatRelativeTargetPath() throws IOException {
|
||||||
|
Path dir = new Path("/dir");
|
||||||
|
Path trg = new Path("trg");
|
||||||
|
Path src = new Path(dir, "src");
|
||||||
|
dfs.setWorkingDirectory(dir);
|
||||||
|
DFSTestUtil.createFile(dfs, trg, blockSize, REPL_FACTOR, 1);
|
||||||
|
DFSTestUtil.createFile(dfs, src, blockSize, REPL_FACTOR, 1);
|
||||||
|
dfs.concat(trg, new Path[]{src});
|
||||||
|
assertEquals(blockSize * 2, dfs.getFileStatus(trg).getLen());
|
||||||
|
assertFalse(dfs.exists(src));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue