HDFS-9431. DistributedFileSystem#concat fails if the target path is relative. Contributed by Kazuho Fujii.
This commit is contained in:
parent
25e82b4eb9
commit
ac1aa6c819
@ -581,7 +581,7 @@ public void concat(Path trg, Path [] psrcs) throws IOException {
|
||||
for (int i=0; i<psrcs.length; i++) {
|
||||
srcsStr[i] = getPathName(srcs[i]);
|
||||
}
|
||||
dfs.concat(getPathName(trg), srcsStr);
|
||||
dfs.concat(getPathName(absF), srcsStr);
|
||||
} catch (UnresolvedLinkException e) {
|
||||
// Exception could be from trg or any src.
|
||||
// Fully resolve trg and srcs. Fail if any of them are a symlink.
|
||||
|
@ -3456,6 +3456,9 @@ Release 2.6.3 - UNRELEASED
|
||||
HDFS-8615. Correct HTTP method in WebHDFS document.
|
||||
(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
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
@ -490,4 +490,17 @@ public void testConcatWithQuotaIncrease() throws IOException {
|
||||
Assert.assertEquals(blockSize * repl * (srcNum + 1),
|
||||
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
Block a user