HDFS-12789. [READ] Image generation tool does not close an opened stream
This commit is contained in:
parent
c293cc8e9b
commit
87dc026bee
@ -165,16 +165,23 @@ public ImageWriter(Options opts) throws IOException {
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user