Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
JDO 2 final (2.0)
-
None
Description
Some tests assume that jdoPostLoad() will be called, but do not take into account the possibilty that persistent-nontransactional is a valid state, and that jdoPostLoad() is not invoked for those instances. The solution should be to force instances to be transitioned to persistent-clean after commit by setting RetainValues=false.
This affects the following tests:
org.apache.jdo.tck.api.instancecallbacks.CallingJdoPostload.test
org.apache.jdo.tck.api.instancecallbacks.ModificationOfNontransactionalNonpersistentFields.test
The solution is to invoke "setRetainValues(false)" after obtaining the transaction in both the test cases. E.g.:
Transaction t = pm.currentTransaction();
t.setRetainValues(false);