diff options
author | Inigo Goiri <inigoiri@apache.org> | 2018-04-28 09:05:30 -0700 |
---|---|---|
committer | Inigo Goiri <inigoiri@apache.org> | 2018-04-28 09:05:30 -0700 |
commit | eb7fe1d588de903be2ff6e20384c25c184881532 (patch) | |
tree | a3ae06658af81d0d9ba1b2a33cc1f786639997fb /hadoop-hdfs-project/hadoop-hdfs/src/main | |
parent | 2c95eb8111a7b03fd4683f740123cd4720b62c3e (diff) |
HDFS-13509. Bug fix for breakHardlinks() of ReplicaInfo/LocalReplica, and fix TestFileAppend failures on Windows. Contributed by Xiao Liang.
Diffstat (limited to 'hadoop-hdfs-project/hadoop-hdfs/src/main')
-rw-r--r-- | hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/LocalReplica.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/LocalReplica.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/LocalReplica.java index 2c5af11d0d..68126a5eb3 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/LocalReplica.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/LocalReplica.java @@ -186,16 +186,18 @@ abstract public class LocalReplica extends ReplicaInfo { final FileIoProvider fileIoProvider = getFileIoProvider(); final File tmpFile = DatanodeUtil.createFileWithExistsCheck( getVolume(), b, DatanodeUtil.getUnlinkTmpFile(file), fileIoProvider); - try (FileInputStream in = fileIoProvider.getFileInputStream( - getVolume(), file)) { - try (FileOutputStream out = fileIoProvider.getFileOutputStream( - getVolume(), tmpFile)) { - IOUtils.copyBytes(in, out, 16 * 1024); + try { + try (FileInputStream in = fileIoProvider.getFileInputStream( + getVolume(), file)) { + try (FileOutputStream out = fileIoProvider.getFileOutputStream( + getVolume(), tmpFile)) { + IOUtils.copyBytes(in, out, 16 * 1024); + } } if (file.length() != tmpFile.length()) { - throw new IOException("Copy of file " + file + " size " + file.length()+ - " into file " + tmpFile + - " resulted in a size of " + tmpFile.length()); + throw new IOException("Copy of file " + file + " size " + file.length() + + " into file " + tmpFile + " resulted in a size of " + + tmpFile.length()); } fileIoProvider.replaceFile(getVolume(), tmpFile, file); } catch (IOException e) { |