You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "John Sichi (JIRA)" <ji...@apache.org> on 2011/07/07 20:58:17 UTC

[jira] [Updated] (HIVE-1884) Potential risk of resource leaks in Hive

     [ https://issues.apache.org/jira/browse/HIVE-1884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Sichi updated HIVE-1884:
-----------------------------

    Status: Open  (was: Patch Available)

Sorry, this one has gone stale again...could you rebase against trunk?


> Potential risk of resource leaks in Hive
> ----------------------------------------
>
>                 Key: HIVE-1884
>                 URL: https://issues.apache.org/jira/browse/HIVE-1884
>             Project: Hive
>          Issue Type: Bug
>          Components: CLI, Metastore, Query Processor, Server Infrastructure
>    Affects Versions: 0.6.0, 0.5.0, 0.4.1, 0.4.0, 0.3.0
>         Environment: Hive 0.6.0, Hadoop 0.20.1
> SUSE Linux Enterprise Server 11 (i586)
>            Reporter: Mohit Sikri
>            Assignee: Chinna Rao Lalam
>         Attachments: HIVE-1884.1.PATCH, HIVE-1884.2.patch
>
>
> h3.There are couple of resource leaks.
> h4.For example,
> In CliDriver.java, Method :- processReader() the buffered reader is not closed.
> h3.Also there are risk(s) of  resource(s) getting leaked , in such cases we need to re factor the code to move closing of resources in finally block.
> h4. For Example :- 
> In Throttle.java   Method:- checkJobTracker() , the following code snippet might cause resource leak.
> {code}
> InputStream in = url.openStream();
> in.read(buffer);
> in.close();
> {code}
> Ideally and as per the best coding practices it should be like below
> {code}
> InputStream in=null;
> try   {
>         in = url.openStream();
>         int numRead = in.read(buffer);
> }
> finally {
>        IOUtils.closeStream(in);
> }
> {code}
> Similar cases, were found in ExplainTask.java, DDLTask.java etc.Need to re factor all such occurrences.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira