Hey Craig,
I don't know how DataNucleus tries to cancel a query.
jdbc.sql.Statement.cancel() is an optional method which some DBMSes
implement but Derby doesn't. The method raises a "Feature not supported"
exception according to
https://db.apache.org/derby/docs/10.17/ref/rrefjdbc40794.html
On 2/27/24 5:27 PM, Craig Russell wrote:
Hi,
The JDO project is having some issues with a feature that was never formally
tested: cancel query. It is intended to allow the JDO user to cancel a query
from a different thread. It is an optional feature enabled by a user
configuration flag.
The problem is that it does not seem to work. I've attached a log excerpt that
shows that query starts in one thread, query cancel is called by the user to
the DataNucleus implementation which then is supposed to call the Derby cancel
query via JDBC.
Without diving into the details, can you confirm that the Derby JDBC
implementation does implement query cancel without throwing an exception?
Thanks,
Craig
Begin forwarded message:
From: "Michael Bouschen (Jira)"
Subject: [jira] [Comment Edited] (JDO-836) TCK: QueryCancel Test class fails
Date: February 27, 2024 at 11:19:00 PST
To: jdo-...@db.apache.org
Reply-To: jdo-...@db.apache.org
I added some lof statement to check that query cancel is called after
query.execute has been called:
22:14:11,040 (Query Executor) INFO [org.apache.jdo.tck] - Start query execute
1708809251037
22:14:12,038 (ForkJoinPool-1-worker-19) INFO [org.apache.jdo.tck] - Start
query cancel 1708809252038
22:14:12,039 (ForkJoinPool-1-worker-19) INFO [org.apache.jdo.tck] - End query
cancel 1708809252039
22:15:00,860 (Query Executor) INFO [org.apache.jdo.tck] - End query execute
1708809300860
22:15:00,861 (Query Executor) INFO [org.apache.jdo.tck] - query execute took
49823ms
Craig L Russell
c...@apache.org