We are testing a update to our app on a couple of qa instances (applications, not just JVMs) of AppEngine. Both are getting DeadlineExceededException pretty often. However, we have only a single user hitting the database and it has little data in it - basically, there is no contention for the database, but sometimes it simply does not respond. Below is an example log. You can see that we use JDO to emit a query for a single entity. However, the datastore never responds. We have the same exact code running on two different AppEngine applications. One of them has instant-on enabled (so it has 3 instances running all the time) and the other does not (so it needs to spin up an instance relatively regularly). We are using JDO and Restlet, but not Spring or Grooving or other packages that take a very long time to initialize (initializing a new instance takes our app about 7 seconds). The very similar code on our live application seems to be fine - we are not seeing the same thing. This makes me worry about deploying to live. Is anyone else seeing this kind of behavior with the datastore?
Caused by: com.google.apphosting.api.DeadlineExceededException: This request (d5cf2cc1a60c6af7) started at 2011/03/17 22:49:48.468 UTC and was still executing at 2011/03/17 22:50:17.887 UTC. at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at com.google.apphosting.runtime.AsyncFuture.get(AsyncFuture.java:54) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:67) at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:67) at com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:71) at com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:32) at com.google.appengine.api.datastore.QueryResultsSourceImpl.loadMoreEntities(QueryResultsSourceImpl.java:69) at com.google.appengine.api.datastore.QueryResultsSourceImpl.loadMoreEntities(QueryResultsSourceImpl.java:56) at com.google.appengine.api.datastore.QueryResultIteratorImpl.ensureLoaded(QueryResultIteratorImpl.java:156) at com.google.appengine.api.datastore.QueryResultIteratorImpl.hasNext(QueryResultIteratorImpl.java:65) at org.datanucleus.store.appengine.query.RuntimeExceptionWrappingIterator.hasNext(RuntimeExceptionWrappingIterator.java:44) at org.datanucleus.store.appengine.query.LazyResult.resolveAll(LazyResult.java:115) at org.datanucleus.store.appengine.query.LazyResult.size(LazyResult.java:110) at org.datanucleus.store.appengine.query.StreamingQueryResult.size(StreamingQueryResult.java:124) at org.datanucleus.store.query.Query.executeQuery(Query.java:1508) at org.datanucleus.store.query.Query.executeWithArray(Query.java:1371) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:266) at com.conceptualcalculations.model.Group.GroupMembershipDAO.testSecondaryKey(GroupMembershipDAO.java:185) at com.conceptualcalculations.model.Group.GroupMembershipDAO.testSecondaryKey(GroupMembershipDAO.java:1) at com.conceptualcalculations.persistence.JDOTemplate.innerGetBySecondaryKey(JDOTemplate.java:403) -- 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.
