[ https://issues.apache.org/jira/browse/YARN-2484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14132425#comment-14132425 ]
Tsuyoshi OZAWA commented on YARN-2484: -------------------------------------- Thanks for your review, Jason! > 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 > Fix For: 2.6.0 > > 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)