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)