[
https://issues.apache.org/jira/browse/HIVE-16213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15973324#comment-15973324
]
Vihang Karajgaonkar commented on HIVE-16213:
--------------------------------------------
Discussed with [~akolb] offline. He agrees that implementing Autocloseable
wrapper around query is a big refactor and may not be worth the effort involved
since it is going to be available from JDO 3.2. We can start consuming the
autocloseable Query when we update the JDO API to 3.2 in Hive. For now this
solution is good. Creating a review board link
https://reviews.apache.org/r/58516/
[~spena] [~akolb] [~stakiar] Can you please review? Thanks!
> ObjectStore can leak Queries when rollbackTransaction throws an exception
> -------------------------------------------------------------------------
>
> Key: HIVE-16213
> URL: https://issues.apache.org/jira/browse/HIVE-16213
> Project: Hive
> Issue Type: Bug
> Components: Hive
> Reporter: Alexander Kolbasov
> Assignee: Vihang Karajgaonkar
> Attachments: HIVE-16213.01.patch
>
>
> In ObjectStore.java there are a few places with the code similar to:
> {code}
> Query query = null;
> try {
> openTransaction();
> query = pm.newQuery(Something.class);
> ...
> commited = commitTransaction();
> } finally {
> if (!commited) {
> rollbackTransaction();
> }
> if (query != null) {
> query.closeAll();
> }
> }
> {code}
> The problem is that rollbackTransaction() may throw an exception in which
> case query.closeAll() wouldn't be executed.
> The fix would be to wrap rollbackTransaction in its own try-catch block.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)