With your added line

  query.setRange(0, 10);

do you get exactly the same exception?

I would expect your added line to work if used correctly. What is your
code with that line added? Once solved, you might want to use JDO
query cursors to step through your potential result set query by
query.

You might also want to look at the JDO object life-cycle. I myself
fetch results from a query and then read from the resultant list of
objects after having closed the pm. Concepts like object detachment
and related settings might be relevant to you here.


On Jan 13, 11:07 am, deltaaruna <deltaar...@gmail.com> wrote:
> 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