HDFS-12789. [READ] Image generation tool does not close an opened stream
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3ed1348e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3ed1348e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3ed1348e Branch: refs/heads/HDFS-9806 Commit: 3ed1348e320e44c5ffc3d1ea8ca11d2359defaf5 Parents: f0805c8 Author: Virajith Jalaparti <viraj...@apache.org> Authored: Wed Nov 8 10:28:50 2017 -0800 Committer: Virajith Jalaparti <viraj...@apache.org> Committed: Fri Dec 1 18:16:59 2017 -0800 ---------------------------------------------------------------------- .../hadoop/hdfs/server/namenode/ImageWriter.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/3ed1348e/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java ---------------------------------------------------------------------- diff --git a/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java b/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java index ea1888a..390bb39 100644 --- a/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java +++ b/hadoop-tools/hadoop-fs2img/src/main/java/org/apache/hadoop/hdfs/server/namenode/ImageWriter.java @@ -165,16 +165,23 @@ public class ImageWriter implements Closeable { // create directory and inode sections as side-files. // The details are written to files to avoid keeping them in memory. - dirsTmp = File.createTempFile("fsimg_dir", null); - dirsTmp.deleteOnExit(); - dirs = beginSection(new FileOutputStream(dirsTmp)); + FileOutputStream dirsTmpStream = null; + try { + dirsTmp = File.createTempFile("fsimg_dir", null); + dirsTmp.deleteOnExit(); + dirsTmpStream = new FileOutputStream(dirsTmp); + dirs = beginSection(dirsTmpStream); + } catch (IOException e) { + IOUtils.cleanupWithLogger(null, raw, dirsTmpStream); + throw e; + } + try { inodesTmp = File.createTempFile("fsimg_inode", null); inodesTmp.deleteOnExit(); inodes = new FileOutputStream(inodesTmp); } catch (IOException e) { - // appropriate to close raw? - IOUtils.cleanup(null, raw, dirs); + IOUtils.cleanupWithLogger(null, raw, dirsTmpStream, dirs); throw e; } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org