Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
JDO 2 maintenance release 2 (2.2)
-
None
-
None
-
None
Description
(see also http://www.nabble.com/NonTransactionalRead---Query-Fetchplan-to19875446.html)
I have a question about the behaviour of Queries after a commit when "NonTransactionalRead" is set to true. Should a Query behave like it did before the commit? More specifically, when defining a fetchsize in the FetchPlan I would like to see that the Query is still honouring this fetchsize after a commit is given.This behaviour is not explicitly described in the specification.
The scenario I am working with is as such:
I have set NonTransactionRead=true and Multithreaded=true. I have 1 pm, and 2 threads. Thread 1 performs reads (executing queries with large result set) and Thread 2 performs writes. Now when I am iterating over a large query in Thread 1 and Thread 2 is doing a commit, I don't want this to affect the iterating over the query in Thread 1.
My proposal would be that the behaviour of the query should be unchanged by a commit(). For me this currently a portability issue, since our application depend on the fact that the query behaves the same. May be the following note to 14.3 Architecture of Query would be sufficient:
"The behaviour of a query should not depend on transactional boundaries"?