Hi all

In my local datastore I have about 160000 records and it will go
400000+ records in future.
But when I try to query the datastore following exception comes

com.google.apphosting.api.ApiProxy$ApiDeadlineExceededException: The
API call datastore_v3.RunQuery() took too long to respond and was
cancelled

at com.google.appengine.tools.development.ApiProxyLocalImpl
$1.createDeadlineException(ApiProxyLocalImpl.java:217)
        at
com.google.appengine.tools.development.TimedFuture.get(TimedFuture.java:
44)
        at
com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:
90)
        at
com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:
90)
        at
com.google.appengine.api.datastore.FutureHelper.getInternal(FutureHelper.java:
72)
        at
com.google.appengine.api.datastore.FutureHelper.quietGet(FutureHelper.java:
33)
        at
com.google.appengine.api.datastore.QueryResultsSourceImpl.loadMoreEntities(QueryResultsSourceImpl.java:
84)
        at
com.google.appengine.api.datastore.QueryResultIteratorImpl.ensureLoaded(QueryResultIteratorImpl.java:
169)
        at
com.google.appengine.api.datastore.QueryResultIteratorImpl.nextList(QueryResultIteratorImpl.java:
115)
        at
com.google.appengine.api.datastore.LazyList.forceResolveToIndex(LazyList.java:
107)
        at
com.google.appengine.api.datastore.LazyList.getCursor(LazyList.java:
344)
        at com.google.appengine.api.datastore.PreparedQueryImpl
$1.get(PreparedQueryImpl.java:62)
        at
com.google.appengine.api.datastore.QueryResultListImpl.getCursor(QueryResultListImpl.java:
36)
        at
org.datanucleus.store.appengine.query.DatastoreQuery.fulfillEntityQuery(DatastoreQuery.java:
394)
        at
org.datanucleus.store.appengine.query.DatastoreQuery.executeQuery(DatastoreQuery.java:
308)
        at
org.datanucleus.store.appengine.query.DatastoreQuery.performExecute(DatastoreQuery.java:
255)
        at
org.datanucleus.store.appengine.query.JDOQLQuery.performExecute(JDOQLQuery.java:
92)
        at org.datanucleus.store.query.Query.executeQuery(Query.java:1489)
        at org.datanucleus.store.query.Query.executeWithArray(Query.java:
1371)
        at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:266)
        at
com.imcProject.server.queryServices.GuiServiceImpl.getCustomerNames(GuiServiceImpl.java:
50)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
100)
        at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
569)
        at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
208)
        at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:
248)
        at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:
62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
        at
com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:
35)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
60)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:
97)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
        at
com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
78)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:362)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.content(HttpConnection.java:938)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
        at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)



also this is my code.
Query query = pm.newQuery(IMCData.class,"this.fldReportDate >= date1
&& this.fldReportDate < date2");
query.declareParameters("java.util.Date date1,java.util.Date date2");
try{

                        List<IMCData> names = 
(List<IMCData>)query.execute(d1,d2);
                        for (IMCData bd : names) {

                                
resultCustomerNamesMap.put(bd.getFldCustomerName(),
bd.getFldCustCode());

                            }

                        }
catch(Exception e){

                        System.out.println("exception in the query execution");
                        e.printStackTrace();

                        }

Earlier I I had about 1000 records in datastore at that time the code
was working well. But it is not working now.
I tried to limit the number of results by query.setRange(0, 10);
method but the exception comes again.
Please someone help me. I am in real trouble.

Thanks

-- 
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.

Reply via email to