Uploaded image for project: 'JDO'
  1. JDO
  2. JDO-514

StateTransitionsReturnedObjects assumes Non Transactional Write enabled by default

    XMLWordPrintableJSON

Details

    • Test
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      StateTransitionsReturnedObjects fails with:

      Assertions A5.9-1 through A5.5.8 (serialization, detachment, attachment) failed:
      StateTransitionsReturnedObjects: no transaction; current state persistent-nontransactional-dirty
      serialize outside tx; unexpected exception caught: com.objectdb.jdo._JDOUserException: Attempt to modify an object with no active transaction when NontransactionalWrite is disabled: org.apache.jdo.tck.pc.lifecycle.StateTransitionObj#3
      FailedObject:org.apache.jdo.tck.pc.lifecycle.StateTransitionObj@701a27

      It seems that StateTransitionsReturnedObjects assumes non transactional write enabled by default. Checking if the implementation supports non transactional write is insufficient (when it is not the default setting).

      An explicit:
      pm.currentTransaction().setNontransactionalWrite(true);
      is needed in getPersistentNontransactionalDirtyInstance, before:
      obj.writeField(10000);

      Attachments

        Activity

          People

            mcaisse Michelle Caisse
            kirsh Ilan Kirsh
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: