JDO
  1. JDO
  2. JDO-412

Expectation of jdoPostLoad() invocation does not take into account the possibility of persistent-nontransactional state

    Details

      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);

        Activity

        Hide
        Michael Bouschen added a comment -

        Checked in the proposed fix into the trunk and the 2.0.1 branch (see revision 452606).

        Show
        Michael Bouschen added a comment - Checked in the proposed fix into the trunk and the 2.0.1 branch (see revision 452606).

          People

          • Assignee:
            Michael Bouschen
            Reporter:
            Marc Prud'hommeaux
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development