db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Jefferson <a...@datanucleus.org>
Subject TCK tests : QueryCancel
Date Thu, 11 Mar 2010 11:53:16 GMT

Finally got around to running these tests with an implementation of JDOQL that 
supports cancellation. I logged the point of calls to Query.cancel, 
Query.execute etc. 

11:48:59,211 (main) INFO  [DataNucleus.General] - >> testCancel : creating 
11:48:59,240 (main) DEBUG [DataNucleus.Query] - JDOQL Single-String with 
"select avg (this.x + point2.y) from PCPoint where this.y >= 0 && point2.x >=

0 variables PCPoint2 point2 import org.apache.jdo.tck.pc.mylib.PCPoint; import 
org.apache.jdo.tck.pc.mylib.PCPoint2; "
11:48:59,248 (main) INFO  [DataNucleus.General] - >> testCancel : calling 
query.cancel() from main thread
11:48:59,248 (Query Executor) DEBUG [DataNucleus.Transaction] - Transaction 
created [DataNucleus Transaction, ID=Xid=
, enlisted resources=[]]
11:48:59,248 (main) INFO  [DataNucleus.General] - >> Query.cancelThread 
thread=21 numTasks=0
11:48:59,249 (Query Executor) DEBUG [DataNucleus.Transaction] - Transaction 
begun for ObjectManager org.datanucleus.ObjectManagerImpl@9b6220 
11:48:59,249 (Query Executor) INFO  [DataNucleus.General] - >> testCancel : 
Calling query.execute from thread
11:48:59,249 (Query Executor) DEBUG [DataNucleus.Query] - JDOQL Query : 
Compiling "SELECT avg (this.x + point2.y) FROM 
org.apache.jdo.tck.pc.mylib.PCPoint WHERE this.y >= 0 && point2.x >= 0 
VARIABLES PCPoint2 point2 import org.apache.jdo.tck.pc.mylib.PCPoint;import 

so the conclusion is that the test cancels (or tries to cancel) the query that 
it hasn't yet started!

What is the expected behaviour of Query.cancel(Thread) when there are no 
queries running in that thread ? noop makes sense to me. That's what 
DataNucleus does; the test doesn't cater for that situation.
Suggest that the test needs to allow the query to get to execute() before it 
cancels it

DataNucleus (http://www.datanucleus.org)

View raw message