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!