[
https://issues.apache.org/jira/browse/HADOOP-7090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Uma Maheswara Rao G reassigned HADOOP-7090:
-------------------------------------------
Assignee: Uma Maheswara Rao G
> Possible resource leaks in hadoop core code
> -------------------------------------------
>
> Key: HADOOP-7090
> URL: https://issues.apache.org/jira/browse/HADOOP-7090
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 0.21.0, 0.23.0
> Reporter: Gokul
> Assignee: Uma Maheswara Rao G
> Attachments: HADOOP-7090.0.patch
>
>
> It is always a good practice to close the IO streams in a finally block..
> For example, look at the following piece of code in the Writer class of
> BloomMapFile
> {code:title=BloomMapFile .java|borderStyle=solid}
> public synchronized void close() throws IOException {
> super.close();
> DataOutputStream out = fs.create(new Path(dir, BLOOM_FILE_NAME), true);
> bloomFilter.write(out);
> out.flush();
> out.close();
> }
> {code}
> If an exception occurs during fs.create or on any other line, out.close()
> will not be executed..
> The following can reduce the scope of resorce leaks..
> {code:title=BloomMapFile .java|borderStyle=solid}
> public synchronized void close() throws IOException {
> super.close();
> DataOutputStream out = null;
> try{
> out = fs.create(new Path(dir, BLOOM_FILE_NAME), true);
> bloomFilter.write(out);
> out.flush();
> }finally{
> IOUtils.closeStream(out);
> }
> {code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira