]
Lin Gao resolved JBJCA-1321.
----------------------------
Resolution: Done
Statement.cancel() is not invoked until the statement is completed
------------------------------------------------------------------
Key: JBJCA-1321
URL:
https://issues.jboss.org/browse/JBJCA-1321
Project: IronJacamar
Issue Type: Bug
Components: JDBC
Affects Versions: WildFly/IronJacamar 1.3.4.Final, 1.2.7.Final
Reporter: lorenzo benvenuti
Assignee: Lin Gao
Priority: Critical
Fix For: WildFly/IronJacamar 1.3.5.Final, 1.2.8.Final
Hi,
in our application we are using the {{Statement.cancel()}} method to stop long-running
queries; in Wildfly 9.0.2 this is not working because the {{cancel()}} method is
synchronized using a lock which is not released until the query is executed. In
{{WrappedStatement}}:
{code:java}
public void cancel() throws SQLException
{
if (doLocking)
lock();
try
{
/* ... */
{code}
It seems this behaviour has changed from version 1.2.5.Final of ironjacamar-jdbc; in
version 1.2.4.Final {{WrappedStatement.cancel}} doesn't try to obtain the lock.
Probably I'm missing something, but to me it's strange that in order to cancel a
statement you have to wait for its completion.
Thank you,
lorenzo