So, you are saying that your code did NOT perform a tx.begin() yet the exception is complaining that Multiple Entity Groups have been accessed during the course of a transaction? Note that only a query (not an update) of an entity outside the currently Entity Group update triggers this error.
I assume if a transaction is NOT active then NO read locks occur and all updates are considered Singleton updates. Note that updates in JDO are triggered by simply using a setter on a persisted Entity attribute. On Nov 30, 11:26 am, Jeffrey Goetsch <[email protected]> wrote: > I am getting an exception that I pasted below. It describes a transaction > error, but I have not programmed any transactions. On top of that, the > request that I made should not have changed any data. Has anyone else been > getting errors like this? > > Caused by: java.lang.IllegalArgumentException: can't operate on multiple > entity groups in a single transaction. > > at > com.google.appengine.api.datastore.DatastoreApiHelper.translateError(DatastoreApiHelper.java:33) > at > com.google.appengine.api.datastore.DatastoreApiHelper.makeSyncCall(DatastoreApiHelper.java:60) > at > com.google.appengine.api.datastore.DatastoreServiceImpl$1.run(DatastoreServiceImpl.java:113) > at > com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java:30) > at > com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java:99) > at > com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java:72) > at > com.google.appengine.api.datastore.DatastoreServiceImpl.get(DatastoreServiceImpl.java:60) > at > org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.get(RuntimeExceptionWrappingDatastoreService.java:63) > at > org.datanucleus.store.appengine.DatastorePersistenceHandler.get(DatastorePersistenceHandler.java:81) > at > org.datanucleus.store.appengine.DatastorePersistenceHandler.get(DatastorePersistenceHandler.java:91) > at > org.datanucleus.store.appengine.DatastorePersistenceHandler.updateObject(DatastorePersistenceHandler.java:487) > at > org.datanucleus.state.JDOStateManagerImpl.flush(JDOStateManagerImpl.java:4576) > at > org.datanucleus.ObjectManagerImpl.flushInternal(ObjectManagerImpl.java:2814) > at > org.datanucleus.ObjectManagerImpl.flush(ObjectManagerImpl.java:2754) > at > org.datanucleus.ObjectManagerImpl.preCommit(ObjectManagerImpl.java:2893) > at > org.datanucleus.TransactionImpl.internalPreCommit(TransactionImpl.java:369) > at org.datanucleus.TransactionImpl.commit(TransactionImpl.java:256) > at org.datanucleus.ObjectManagerImpl.close(ObjectManagerImpl.java:801) > at > org.datanucleus.jdo.JDOPersistenceManager.close(JDOPersistenceManager.java:271) > ... 51 more > > Thanks, > > Jeffrey -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" 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-java?hl=en.
