HDFS-6197. Merging change r1585586 from trunk to branch-2.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1585591 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
45e26bae05
commit
58d9479140
|
@ -81,6 +81,9 @@ Release 2.4.1 - UNRELEASED
|
||||||
HDFS-6189. Multiple HDFS tests fail on Windows attempting to use a test
|
HDFS-6189. Multiple HDFS tests fail on Windows attempting to use a test
|
||||||
root path containing a colon. (cnauroth via szetszwo)
|
root path containing a colon. (cnauroth via szetszwo)
|
||||||
|
|
||||||
|
HDFS-6197. Rolling upgrade rollback on Windows can fail attempting to rename
|
||||||
|
edit log segment files to a destination that already exists. (cnauroth)
|
||||||
|
|
||||||
Release 2.4.0 - 2014-04-07
|
Release 2.4.0 - 2014-04-07
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -512,11 +512,13 @@ public class FileJournalManager implements JournalManager {
|
||||||
private void renameSelf(String newSuffix) throws IOException {
|
private void renameSelf(String newSuffix) throws IOException {
|
||||||
File src = file;
|
File src = file;
|
||||||
File dst = new File(src.getParent(), src.getName() + newSuffix);
|
File dst = new File(src.getParent(), src.getName() + newSuffix);
|
||||||
boolean success = src.renameTo(dst);
|
// renameTo fails on Windows if the destination file already exists.
|
||||||
if (!success) {
|
if (!src.renameTo(dst)) {
|
||||||
|
if (!dst.delete() || !src.renameTo(dst)) {
|
||||||
throw new IOException(
|
throw new IOException(
|
||||||
"Couldn't rename log " + src + " to " + dst);
|
"Couldn't rename log " + src + " to " + dst);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
file = dst;
|
file = dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -195,6 +195,7 @@ public class TestRollingUpgrade {
|
||||||
Assert.assertEquals(info1, dfs.rollingUpgrade(RollingUpgradeAction.QUERY));
|
Assert.assertEquals(info1, dfs.rollingUpgrade(RollingUpgradeAction.QUERY));
|
||||||
|
|
||||||
dfs.mkdirs(bar);
|
dfs.mkdirs(bar);
|
||||||
|
cluster.shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
// cluster2 takes over QJM
|
// cluster2 takes over QJM
|
||||||
|
|
Loading…
Reference in New Issue