I've been running an application successfully for some time on the app engine. During last week I've couple of times tried enabling threadsafe in my app. It seems to randomly cause issues with retrieving or storing data with JDO. What I see when I start to get these issues is this (I've replaced my apps class names with ---): java.lang.UnsupportedOperationException at org.datanucleus.store.appengine.EntityUtils.getPropertyName(EntityUtils.java:62) at org.datanucleus.store.appengine.DatastoreFieldManager.storeObjectField(DatastoreFieldManager.java:839) at org.datanucleus.store.appengine.DatastoreFieldManager.storeStringField(DatastoreFieldManager.java:474) at org.datanucleus.state.AbstractStateManager.providedStringField(AbstractStateManager.java:1023) at ---.jdoProvideField(VAJDO.java) at ---.jdoProvideFields(VAJDO.java) at org.datanucleus.state.JDOStateManagerImpl.provideFields(JDOStateManagerImpl.java:2715) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPreProcess(DatastorePersistenceHandler.java:341) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:251) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:240) at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:3185) at org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:3161) at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1298) at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1175) at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:669) at org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:694)
I've seen the same exception also when calling PersistenceManager.getObjectById(). The call to these methods comes directly from servlet requests. The error doesn't always happen, sometimes (especially for writes) when it starts to happen, it seems to happen to all writes. I've set threadsafe to false in my appengine-web.xml and the error goes away. But especially now knowing the upcoming change in the pricing, I'd like to be able to run my app multithreaded. My question is that is this a bug in the app engine, or should I be synchronizing JDO use in my app in order to run it with threadsafe=true? -- 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 google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.