[ 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)