db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ilan Kirsh <ki...@objectdb.com>
Subject CHALLENGE org.apache.jdo.tck.lifecycle.StateTransitionsReturnedObjects
Date Tue, 25 Sep 2007 17:48:18 GMT
Hi,

This is also known as JDO-513 and JDO-514 in the issue tracker.

JDO-513:

StateTransitionsReturnedObjects fails with:

junit.framework.AssertionFailedError:
Assertions A5.9-1 through A5.5.8 (serialization, detachment, attachment) 
failed:
StateTransitionsReturnedObjects: optimistic transaction; current state 
detached-clean
makePersistent returned instance in invalid state hollow; expected state 
persistent-clean

It seems that in optimistic transaction the object state should be 
persistent non transactional rather than persistent clean.

JDO-514:

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

Regards,

Ilan Kirsh
ObjectDB Software
http://www.objectdb.com



Mime
View raw message