> On Sept. 26, 2013, 6:36 p.m., Vaibhav Gumashta wrote: > > jdbc/src/java/org/apache/hive/jdbc/HiveStatement.java, line 204 > > <https://reviews.apache.org/r/14298/diff/4/?file=356951#file356951line204> > > > > Similar to my other comment (on removing opHandle entry from > > handleToOperation map in OperationManager), do you see any use of keeping > > the stmtHandle on an exception if we ensure that the operationHandle on the > > server is removed from the handleToOperation map in case of an error?
Do you mean we should not put off calling closeClientOperation until next HiveStatement#execute or until HiveStatement#close will be called but call closeClientOperation immediately on an exception right? I think it's reasonable exactly. > On Sept. 26, 2013, 6:36 p.m., Vaibhav Gumashta wrote: > > service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java, > > line 197 > > <https://reviews.apache.org/r/14298/diff/4/?file=356952#file356952line197> > > > > In the current (patch) implementation, when an operation throws an > > exception, we're making sure that the opHandle gets added to the > > opHandleSet in HiveSessionImpl for later cleanup by HiveSessionImpl#close. > > Wouldn't a better to just remove the opHandle entry from handleToOperation > > map in OperationManager but pass on the error to the client? In the new patch, I modified HiveSessionImpl to remove opHandle from handleToOperation immediately on an error. - Kousuke ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/14298/#review26414 ----------------------------------------------------------- On Sept. 27, 2013, 12:12 a.m., Kousuke Saruta wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/14298/ > ----------------------------------------------------------- > > (Updated Sept. 27, 2013, 12:12 a.m.) > > > Review request for hive. > > > Bugs: HIVE-5296 > https://issues.apache.org/jira/browse/HIVE-5296 > > > Repository: hive-git > > > Description > ------- > > Hiveserver2 will occur memory leak caused by increasing Hashtable$Entry at > least 2 situation as follows. > > 1. When Exceptions are thrown during executing commmand or query, operation > handle will not release. > 2. Hiveserver2 calls FileSystem#get method and never call FileSystem#close or > FileSystem.closeAll so FileSystem$Cache will continue to increase. > > I've modified HiveSessionImpl and HiveStatement not to lose operation handle. > Operation handle is needed by OperationManager to remove from > handleToOpration. > Also, I've modified HiveSessionImpl to close FileSystem object at the end of > session. > > > Diffs > ----- > > service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java > 11c96b2 > > Diff: https://reviews.apache.org/r/14298/diff/ > > > Testing > ------- > > I confirmed only not increasing Hashtable$Entry by jmap. > > > Thanks, > > Kousuke Saruta > >