[Mondrian] SqlStatement not closed
Julian Hyde
jhyde at pentaho.com
Tue Sep 29 16:52:27 EDT 2009
By design, you do not need to call close if executeQuery encounters an
exception. SqlStatement.execute should do it automatically. The code assumes
that this is the case. Is this not happening? Maybe you're getting a
throwable which is not a SQLException.
If executeQuery succeeds, you do need to call close.
By the way, <http://jira.pentaho.com/browse/MONDRIAN-623>
http://jira.pentaho.com/browse/MONDRIAN-623 may be the same issue as you are
seeing.
Julian
_____
From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org] On
Behalf Of Matt Campbell
Sent: Tuesday, September 29, 2009 12:58 PM
To: Mondrian developer mailing list
Subject: [Mondrian] SqlStatement not closed
There are several places in the code base where RolapUtil.executeQuery() is
called outside of a try/catch/finally. Since the statement .close() method
is typically called in the finally, this has the potential to cause
statements to be left open if an exception is thrown during the
.executeQuery().
We recently experienced this when we had a series of SQL queries fail with
an exception. Each of those failures left the statement open, which meant
that the Semaphore never incremented its query count. I think if the query
fails it should still close the statement.
Can/should we move the executeQuery() to within the try block in the handful
of places where it is invoked?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20090929/d9dc804b/attachment.html
More information about the Mondrian
mailing list