[ https://issues.apache.org/jira/browse/HIVE-1959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13002542#comment-13002542 ]
Chinna Rao Lalam commented on HIVE-1959: ---------------------------------------- Thanks Ning Zhang & ಕರಿಯ for the comments. If we use WeakHashMap when no one have the reference for the QueryInfo or TaskInfo objects other than weakhashmap if GC happens these objects will be garbage collected. But in our case the QueryInfo or TaskInfo objects will be accessed in different stages like StartQuery ,setQueryProperty and EndQuery etc. For Ex some queries will execute more time (May be some hours), At the time of start query it will put the data in to weakhashmap after long time endQuery() is executed in between some times it will accesses the weakhashmap from the methods like setQueryProperty(). But by that time if GC triggered there is a chance to garbage collect these objects(QueryInfo & TaskInfo). This case we will lose the information of QueryInfo & TaskInfo objects. Here we don't have control, GC will have the control to remove the objects. Using HashMap and removing objects from the map through code, this case we will have control. @Ning Zhang : There are some early exits (should be changed in my opinion. I will file another JIRA to fix this) in the loop of execute() which will bypass the finally clause. This case we have to change the implementation, present implementation is calling System.exit(9) it will exit from JVM. I will provide a patch for this issue. > Potential memory leak when same connection used for long time. TaskInfo and > QueryInfo objects are getting accumulated on executing more queries on the > same connection. > ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-1959 > URL: https://issues.apache.org/jira/browse/HIVE-1959 > Project: Hive > Issue Type: Bug > Components: Server Infrastructure > Affects Versions: 0.8.0 > Environment: Hadoop 0.20.1, Hive0.5.0 and SUSE Linux Enterprise > Server 10 SP2 (i586) - Kernel 2.6.16.60-0.21-smp (5). > Reporter: Chinna Rao Lalam > Assignee: Chinna Rao Lalam > Attachments: HIVE-1959.patch > > > *org.apache.hadoop.hive.ql.history.HiveHistory$TaskInfo* and > *org.apache.hadoop.hive.ql.history.HiveHistory$QueryInfo* these two objects > are getting accumulated on executing more number of queries on the same > connection. These objects are getting released only when the connection is > closed. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira