You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Tsuyoshi OZAWA (JIRA)" <ji...@apache.org> on 2014/08/30 19:34:52 UTC
[jira] [Created] (YARN-2484)
FileSystemRMStateStore#readFile/writeFile should close
FSData(In|Out)putStream in final block
Tsuyoshi OZAWA created YARN-2484:
------------------------------------
Summary: 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
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.2#6252)