Same problem here. Is that a problem with nested transactions? Anyone could comment, please?
Thanks much, Maciej On 10 April 2010 23:27, AdamM <[email protected]> wrote: > Hi, > > I am developing an application, that operates on multiple entity > groups in multiple datastore transactions. > > I first create a PersistenceManager and open a transaction on it.I > make an object persistent using this transaction, but I do not commit > it. After this I create a new PersistenceManager with a transaction > from the same factory, I make persistent an object to a different > entity group. Again I do not commit. At the end I will commit the > transaction after each other. > > There is a foreign key relationship between the 2 objects (I store the > Object with primary key first). > > The second transaction fails to commit with an Exception: > > NestedThrowablesStackTrace: > java.lang.IllegalStateException: Attempted to deregister a transaction > that is not currently registered. > at > com.google.appengine.api.datastore.TransactionStackImpl.remove(TransactionStackImpl.java: > 61) > at > com.google.appengine.api.datastore.TransactionImpl.commit(TransactionImpl.java: > 71) > at > org.datanucleus.store.appengine.DatastoreTransaction.commit(DatastoreTransaction.java: > 61) > at > org.datanucleus.store.appengine.DatastoreXAResource.commit(DatastoreXAResource.java: > 88) > (I do not get this error, if I leave the persistence of the object out > from the 2nd transaction.) > > I was running this code both from JUnit Tests and on Local App Engine > instance. > > This was working with 1.2.6 or 1.3.0 but not with 1.3.2. > > I also have a JUnit Test to test concurrent modification, I used to > get JDOCanRetryException on concurrent changes, but now with the new > version I am getting: > > java.util.ConcurrentModificationException: too much contention on > these datastore entities. please try again. > at > com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java: > 37) > at > com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall(DatastoreApiHelper.java: > 63) > at > com.google.appengine.api.datastore.TransactionImpl.makeSyncCall(TransactionImpl.java: > 42) > at > com.google.appengine.api.datastore.TransactionImpl.makeSyncCall(TransactionImpl.java: > 56) > at > com.google.appengine.api.datastore.TransactionImpl.commit(TransactionImpl.java: > 66) > > Has anything changed in 1.3.2? > > Please help. > > Regards, > > Adam > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- Maciej Machulak email: [email protected] tel: +48 602 45 31 44 tel: +44 7999 606 767 -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
