Attendees: Michelle Caisse, Michael Bouschen, Craig Russell

Special meeting time for next week only: 11:00 AM Pacific Daylight Time

Agenda:

1. Query Cancel TCK tests

Andy raised a question that the test case doesn't work for implementations that support query cancel. The main thread doesn't sleep before canceling the query thread, which probably hasn't started executing. We should put a sleep into the main thread after starting the thread and before canceling the query. Depending on how this works out, we might also need to implement a barrier to make sure that both threads are running before the cancel executes. AI Michael update the test case.

A second issue is what the scope of the cancel. It might be that the user has finished executing the query and has a result that is iterating. In this case, the cancel might be useful to cancel the execution of the result set iteration. But it's not clear whether the underlying implementation can cancel a statement that has finished executing. In this case, for both JDO and the underlying implementation, the Query (or Statement) is no longer executing. So if the Query has given back a result, it can no longer be canceled. The user should use a datastore timeout to control iteration of the result.

The question is still whether the caller of cancel should be able to know whether the cancel had any effect. It's not obvious that it's possible to know with any certainty. The only indication from Statement.cancel() is an exception if the Statement has been closed. The behavior if the Statement has returned a result doesn't appear to be documented. So probably the best we can do is to cancel any Statement that we know is being executed, which satisfies the main reason for this API.

AI Craig update the specification.

2. Tests in api2 for ... getPersistenceManagerFactory(Map,Map) 
https://issues.apache.org/jira/browse/JDO-557

The class that needs to be created for the test just needs to implement the static method, and not necessarily the PMF interface, but it can return a proxy for PMF.

3. Spec updates. Matthew Adams commented that the changed spec seems to require a specific state of the instance even if there is an existing instance in the cache. AI Craig clarify the spec in this case.

4. Other issues

The behead script that removes the first several lines from annotations and enums doesn't work for regular classes and interfaces. It would be nice if the script could also support classes and interfaces.

Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:craig.russ...@sun.com
P.S. A good JDO? O, Gasp!

Reply via email to