[
https://issues.apache.org/jira/browse/YARN-2484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14131577#comment-14131577
]
Jason Lowe commented on YARN-2484:
----------------------------------
+1 lgtm. Committing this.
> FileSystemRMStateStore#readFile/writeFile should close
> FSData(In|Out)putStream in final block
> ---------------------------------------------------------------------------------------------
>
> Key: YARN-2484
> URL: https://issues.apache.org/jira/browse/YARN-2484
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Tsuyoshi OZAWA
> Assignee: Tsuyoshi OZAWA
> Priority: Trivial
> Attachments: YARN-2484.1.patch, YARN-2484.2.patch
>
>
> File descriptors can leak if exceptions are thrown in these methods.
> {code}
> private byte[] readFile(Path inputPath, long len) throws Exception {
> FSDataInputStream fsIn = fs.open(inputPath);
> // state data will not be that "long"
> byte[] data = new byte[(int)len];
> fsIn.readFully(data);
> fsIn.close();
> return data;
> }
> {code}
> {code}
> private void writeFile(Path outputPath, byte[] data) throws Exception {
> Path tempPath =
> new Path(outputPath.getParent(), outputPath.getName() + ".tmp");
> FSDataOutputStream fsOut = null;
> // This file will be overwritten when app/attempt finishes for saving the
> // final status.
> fsOut = fs.create(tempPath, true);
> fsOut.write(data);
> fsOut.close();
> fs.rename(tempPath, outputPath);
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)