Statement.cancel() is not invoked until the statement is completed
------------------------------------------------------------------
Key: WFLY-7201
URL:
https://issues.jboss.org/browse/WFLY-7201
Project: WildFly
Issue Type: Bug
Reporter: Lin Gao
Assignee: Lin Gao
Priority: Critical
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