google app engine - GAE DevAppServer is forcibly killing my MySQL connection after 5 seconds -


i working on port of our web application gae , google cloud sql. using mysql 5.6 , devappserver locally during development, , have queries take longer 5 seconds return. there seems sort of default timeout , query fails after approximately 5 seconds in devappserver. have not yet tried running in gae directly (mainly because can't complete page because query keeps failing).

here call stack:

aug 08, 2016 10:34:05 org.glassfish.jersey.server.serverruntime$responder mapexception finer: starting mapping of exception. org.glassfish.jersey.server.internal.process.mappableexception: com.mysql.jdbc.exceptions.jdbc4.communicationsexception: communications link failure  last packet received server 5,006 milliseconds ago.  last packet sent server 5,001 milliseconds ago.     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher.maptargettoruntimeex(abstractjavaresourcemethoddispatcher.java:179)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher.access$200(abstractjavaresourcemethoddispatcher.java:72)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher$1.run(abstractjavaresourcemethoddispatcher.java:149)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher.invoke(abstractjavaresourcemethoddispatcher.java:161)     @ org.glassfish.jersey.server.model.internal.javaresourcemethoddispatcherprovider$responseoutinvoker.dodispatch(javaresourcemethoddispatcherprovider.java:160)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher.dispatch(abstractjavaresourcemethoddispatcher.java:99)     @ org.glassfish.jersey.server.model.resourcemethodinvoker.invoke(resourcemethodinvoker.java:389)     @ org.glassfish.jersey.server.model.resourcemethodinvoker.apply(resourcemethodinvoker.java:347)     @ org.glassfish.jersey.server.model.resourcemethodinvoker.apply(resourcemethodinvoker.java:102)     @ org.glassfish.jersey.server.serverruntime$2.run(serverruntime.java:326)     @ org.glassfish.jersey.internal.errors$1.call(errors.java:271)     @ org.glassfish.jersey.internal.errors$1.call(errors.java:267)     @ org.glassfish.jersey.internal.errors.process(errors.java:315)     @ org.glassfish.jersey.internal.errors.process(errors.java:297)     @ org.glassfish.jersey.internal.errors.process(errors.java:267)     @ org.glassfish.jersey.process.internal.requestscope.runinscope(requestscope.java:317)     @ org.glassfish.jersey.server.serverruntime.process(serverruntime.java:305)     @ org.glassfish.jersey.server.applicationhandler.handle(applicationhandler.java:1154)     @ org.glassfish.jersey.servlet.webcomponent.serviceimpl(webcomponent.java:473)     @ org.glassfish.jersey.servlet.webcomponent.service(webcomponent.java:427)     @ org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:388)     @ org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:341)     @ org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:228)     @ org.mortbay.jetty.servlet.servletholder.handle(servletholder.java:511)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1166)     @ com.google.appengine.api.socket.dev.devsocketfilter.dofilter(devsocketfilter.java:74)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.responserewriterfilter.dofilter(responserewriterfilter.java:128)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.headerverificationfilter.dofilter(headerverificationfilter.java:34)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.api.blobstore.dev.serveblobfilter.dofilter(serveblobfilter.java:63)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.apphosting.utils.servlet.transactioncleanupfilter.dofilter(transactioncleanupfilter.java:50)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.staticfilefilter.dofilter(staticfilefilter.java:125)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.devappservermodulesfilter.dodirectrequest(devappservermodulesfilter.java:366)     @ com.google.appengine.tools.development.devappservermodulesfilter.dodirectmodulerequest(devappservermodulesfilter.java:349)     @ com.google.appengine.tools.development.devappservermodulesfilter.dofilter(devappservermodulesfilter.java:116)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ org.mortbay.jetty.servlet.servlethandler.handle(servlethandler.java:388)     @ org.mortbay.jetty.security.securityhandler.handle(securityhandler.java:216)     @ org.mortbay.jetty.servlet.sessionhandler.handle(sessionhandler.java:182)     @ org.mortbay.jetty.handler.contexthandler.handle(contexthandler.java:765)     @ org.mortbay.jetty.webapp.webappcontext.handle(webappcontext.java:418)     @ com.google.appengine.tools.development.devappenginewebappcontext.handle(devappenginewebappcontext.java:98)     @ org.mortbay.jetty.handler.handlerwrapper.handle(handlerwrapper.java:152)     @ com.google.appengine.tools.development.jettycontainerservice$apiproxyhandler.handle(jettycontainerservice.java:511)     @ org.mortbay.jetty.handler.handlerwrapper.handle(handlerwrapper.java:152)     @ org.mortbay.jetty.server.handle(server.java:326)     @ org.mortbay.jetty.httpconnection.handlerequest(httpconnection.java:542)     @ org.mortbay.jetty.httpconnection$requesthandler.headercomplete(httpconnection.java:923)     @ org.mortbay.jetty.httpparser.parsenext(httpparser.java:547)     @ org.mortbay.jetty.httpparser.parseavailable(httpparser.java:212)     @ org.mortbay.jetty.httpconnection.handle(httpconnection.java:404)     @ org.mortbay.io.nio.selectchannelendpoint.run(selectchannelendpoint.java:409)     @ org.mortbay.thread.queuedthreadpool$poolthread.run(queuedthreadpool.java:582) caused by: com.mysql.jdbc.exceptions.jdbc4.communicationsexception: communications link failure  last packet received server 5,006 milliseconds ago.  last packet sent server 5,001 milliseconds ago.     @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)     @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:57)     @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45)     @ java.lang.reflect.constructor.newinstance(constructor.java:526)     @ com.google.appengine.tools.development.agent.runtime.runtime.newinstance_(runtime.java:142)     @ com.google.appengine.tools.development.agent.runtime.runtime.newinstance(runtime.java:150)     @ com.mysql.jdbc.util.handlenewinstance(util.java:404)     @ com.mysql.jdbc.sqlerror.createcommunicationsexception(sqlerror.java:981)     @ com.mysql.jdbc.mysqlio.reuseandreadpacket(mysqlio.java:3465)     @ com.mysql.jdbc.mysqlio.reuseandreadpacket(mysqlio.java:3365)     @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3805)     @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2478)     @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2625)     @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2551)     @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:1861)     @ com.mysql.jdbc.preparedstatement.executequery(preparedstatement.java:1962)     @ com.mysql.jdbc.callablestatement.executequery(callablestatement.java:858)     @ com.[redacted].[redacted].sql.sqlquery.executequery(sqlquery.java:132)     @ com.[redacted].[redacted].business.user.interfacemanager.performdqlsearch(interfacemanager.java:216)     @ com.[redacted].[redacted].business.user.interfacemanager.performfiltersearch(interfacemanager.java:275)     @ com.[redacted].[redacted].rest.client.search.searchfilter(search.java:139)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:606)     @ com.google.appengine.tools.development.agent.runtime.runtime.invoke(runtime.java:130)     @ org.glassfish.jersey.server.model.internal.resourcemethodinvocationhandlerfactory$1.invoke(resourcemethodinvocationhandlerfactory.java:81)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher$1.run(abstractjavaresourcemethoddispatcher.java:144)     ... 55 more caused by: java.net.socketexception: socket operation timed out: api call remote_socket.receive() took long respond , cancelled.     @ com.google.appengine.api.socket.socketapihelper.makesynccall(socketapihelper.java:76)     @ com.google.appengine.api.socket.appenginesocketimpl.receive(appenginesocketimpl.java:710)     @ com.google.appengine.api.socket.appenginesocketinputstream.read(appenginesocketinputstream.java:35)     @ com.mysql.jdbc.util.readaheadinputstream.fill(readaheadinputstream.java:100)     @ com.mysql.jdbc.util.readaheadinputstream.readfromunderlyingstreamifnecessary(readaheadinputstream.java:143)     @ com.mysql.jdbc.util.readaheadinputstream.read(readaheadinputstream.java:173)     @ com.mysql.jdbc.mysqlio.readfully(mysqlio.java:2954)     @ com.mysql.jdbc.mysqlio.reuseandreadpacket(mysqlio.java:3375)     ... 74 more  aug 08, 2016 10:34:05 com.[redacted].[redacted].rest.internal.genericexceptionmapper toresponse severe: communications link failure  last packet received server 5,006 milliseconds ago.  last packet sent server 5,001 milliseconds ago. com.mysql.jdbc.exceptions.jdbc4.communicationsexception: communications link failure  last packet received server 5,006 milliseconds ago.  last packet sent server 5,001 milliseconds ago.     @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)     @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:57)     @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45)     @ java.lang.reflect.constructor.newinstance(constructor.java:526)     @ com.google.appengine.tools.development.agent.runtime.runtime.newinstance_(runtime.java:142)     @ com.google.appengine.tools.development.agent.runtime.runtime.newinstance(runtime.java:150)     @ com.mysql.jdbc.util.handlenewinstance(util.java:404)     @ com.mysql.jdbc.sqlerror.createcommunicationsexception(sqlerror.java:981)     @ com.mysql.jdbc.mysqlio.reuseandreadpacket(mysqlio.java:3465)     @ com.mysql.jdbc.mysqlio.reuseandreadpacket(mysqlio.java:3365)     @ com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3805)     @ com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2478)     @ com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2625)     @ com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2551)     @ com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:1861)     @ com.mysql.jdbc.preparedstatement.executequery(preparedstatement.java:1962)     @ com.mysql.jdbc.callablestatement.executequery(callablestatement.java:858)     @ com.[redacted].[redacted].sql.sqlquery.executequery(sqlquery.java:132)     @ com.[redacted].[redacted].business.user.interfacemanager.performdqlsearch(interfacemanager.java:216)     @ com.[redacted].[redacted].business.user.interfacemanager.performfiltersearch(interfacemanager.java:275)     @ com.[redacted].[redacted].rest.client.search.searchfilter(search.java:139)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:606)     @ com.google.appengine.tools.development.agent.runtime.runtime.invoke(runtime.java:130)     @ org.glassfish.jersey.server.model.internal.resourcemethodinvocationhandlerfactory$1.invoke(resourcemethodinvocationhandlerfactory.java:81)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher$1.run(abstractjavaresourcemethoddispatcher.java:144)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher.invoke(abstractjavaresourcemethoddispatcher.java:161)     @ org.glassfish.jersey.server.model.internal.javaresourcemethoddispatcherprovider$responseoutinvoker.dodispatch(javaresourcemethoddispatcherprovider.java:160)     @ org.glassfish.jersey.server.model.internal.abstractjavaresourcemethoddispatcher.dispatch(abstractjavaresourcemethoddispatcher.java:99)     @ org.glassfish.jersey.server.model.resourcemethodinvoker.invoke(resourcemethodinvoker.java:389)     @ org.glassfish.jersey.server.model.resourcemethodinvoker.apply(resourcemethodinvoker.java:347)     @ org.glassfish.jersey.server.model.resourcemethodinvoker.apply(resourcemethodinvoker.java:102)     @ org.glassfish.jersey.server.serverruntime$2.run(serverruntime.java:326)     @ org.glassfish.jersey.internal.errors$1.call(errors.java:271)     @ org.glassfish.jersey.internal.errors$1.call(errors.java:267)     @ org.glassfish.jersey.internal.errors.process(errors.java:315)     @ org.glassfish.jersey.internal.errors.process(errors.java:297)     @ org.glassfish.jersey.internal.errors.process(errors.java:267)     @ org.glassfish.jersey.process.internal.requestscope.runinscope(requestscope.java:317)     @ org.glassfish.jersey.server.serverruntime.process(serverruntime.java:305)     @ org.glassfish.jersey.server.applicationhandler.handle(applicationhandler.java:1154)     @ org.glassfish.jersey.servlet.webcomponent.serviceimpl(webcomponent.java:473)     @ org.glassfish.jersey.servlet.webcomponent.service(webcomponent.java:427)     @ org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:388)     @ org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:341)     @ org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:228)     @ org.mortbay.jetty.servlet.servletholder.handle(servletholder.java:511)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1166)     @ com.google.appengine.api.socket.dev.devsocketfilter.dofilter(devsocketfilter.java:74)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.responserewriterfilter.dofilter(responserewriterfilter.java:128)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.headerverificationfilter.dofilter(headerverificationfilter.java:34)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.api.blobstore.dev.serveblobfilter.dofilter(serveblobfilter.java:63)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.apphosting.utils.servlet.transactioncleanupfilter.dofilter(transactioncleanupfilter.java:50)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.staticfilefilter.dofilter(staticfilefilter.java:125)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ com.google.appengine.tools.development.devappservermodulesfilter.dodirectrequest(devappservermodulesfilter.java:366)     @ com.google.appengine.tools.development.devappservermodulesfilter.dodirectmodulerequest(devappservermodulesfilter.java:349)     @ com.google.appengine.tools.development.devappservermodulesfilter.dofilter(devappservermodulesfilter.java:116)     @ org.mortbay.jetty.servlet.servlethandler$cachedchain.dofilter(servlethandler.java:1157)     @ org.mortbay.jetty.servlet.servlethandler.handle(servlethandler.java:388)     @ org.mortbay.jetty.security.securityhandler.handle(securityhandler.java:216)     @ org.mortbay.jetty.servlet.sessionhandler.handle(sessionhandler.java:182)     @ org.mortbay.jetty.handler.contexthandler.handle(contexthandler.java:765)     @ org.mortbay.jetty.webapp.webappcontext.handle(webappcontext.java:418)     @ com.google.appengine.tools.development.devappenginewebappcontext.handle(devappenginewebappcontext.java:98)     @ org.mortbay.jetty.handler.handlerwrapper.handle(handlerwrapper.java:152)     @ com.google.appengine.tools.development.jettycontainerservice$apiproxyhandler.handle(jettycontainerservice.java:511)     @ org.mortbay.jetty.handler.handlerwrapper.handle(handlerwrapper.java:152)     @ org.mortbay.jetty.server.handle(server.java:326)     @ org.mortbay.jetty.httpconnection.handlerequest(httpconnection.java:542)     @ org.mortbay.jetty.httpconnection$requesthandler.headercomplete(httpconnection.java:923)     @ org.mortbay.jetty.httpparser.parsenext(httpparser.java:547)     @ org.mortbay.jetty.httpparser.parseavailable(httpparser.java:212)     @ org.mortbay.jetty.httpconnection.handle(httpconnection.java:404)     @ org.mortbay.io.nio.selectchannelendpoint.run(selectchannelendpoint.java:409)     @ org.mortbay.thread.queuedthreadpool$poolthread.run(queuedthreadpool.java:582) caused by: java.net.socketexception: socket operation timed out: api call remote_socket.receive() took long respond , cancelled.     @ com.google.appengine.api.socket.socketapihelper.makesynccall(socketapihelper.java:76)     @ com.google.appengine.api.socket.appenginesocketimpl.receive(appenginesocketimpl.java:710)     @ com.google.appengine.api.socket.appenginesocketinputstream.read(appenginesocketinputstream.java:35)     @ com.mysql.jdbc.util.readaheadinputstream.fill(readaheadinputstream.java:100)     @ com.mysql.jdbc.util.readaheadinputstream.readfromunderlyingstreamifnecessary(readaheadinputstream.java:143)     @ com.mysql.jdbc.util.readaheadinputstream.read(readaheadinputstream.java:173)     @ com.mysql.jdbc.mysqlio.readfully(mysqlio.java:2954)     @ com.mysql.jdbc.mysqlio.reuseandreadpacket(mysqlio.java:3375)     ... 74 more  aug 08, 2016 10:34:05 com.[redacted].[redacted].rest.internal.responseutils addcommonheaders fine: set response header -> access-control-allow-origin: * aug 08, 2016 10:34:05 org.glassfish.jersey.server.serverruntime$responder mapexception finer: exception 'communications link failure  last packet received server 5,006 milliseconds ago.  last packet sent server 5,001 milliseconds ago.' has been mapped 'com.[redacted].[redacted].rest.internal.genericexceptionmapper' response 'internal server error' (500:server_error). 

it able put break point in mysql driver code , found exception:

java.net.socketexception: socket operation timed out: api call remote_socket.receive() took long respond , cancelled.

socket operation timed out: api call remote_socket.receive() took long respond , cancelled.

now have tried running same sp call using library code outside of gae devappserver , works fine:

package com.[redacted].poc.sql.testsql;  import java.util.logging.level; import java.util.logging.logger;  import org.apache.commons.lang3.time.stopwatch;  import com.[redacted].[redacted].data.datatable; import com.[redacted].[redacted].sql.autoconnection; import com.[redacted].[redacted].sql.databasemanager; import com.[redacted].[redacted].sql.resultsetex; import com.[redacted].[redacted].sql.sqlintegerparameter; import com.[redacted].[redacted].sql.sqlquery; import com.[redacted].[redacted].sql.sqlstringparameter;  /**  * hello world!  *  */ public class app {      private static final logger logger = logger.getlogger(app.class.getname());      public static void main(string[] args) {         try {             databasemanager.initialize("jdbc:mysql://127.0.0.1:3306/[redacted]?user=[redacted]&password=[redacted]");              final string xml = [redacted];              final stopwatch swtotal = new stopwatch();             final stopwatch swrs1 = new stopwatch();             final stopwatch swrs2 = new stopwatch();             try (autoconnection db = new autoconnection(databasemanager.getdbconnection())) {                 assert (db != null);                 assert (db.getconnection() != null);                 try (final sqlquery sql = databasemanager.buildstoredprocedurecall(logger, db.getconnection(),                         "text_search", new sqlintegerparameter("user_id", integer.valueof(2)),                         new sqlintegerparameter("project_id", integer.valueof(2)),                         new sqlstringparameter("search_criteria_xml", xml), new sqlintegerparameter("page_number", 1),                         new sqlintegerparameter("page_size", 25))) {                     logger.info("running query");                     swtotal.start();                     swrs1.start();                     try (final resultsetex rs = new resultsetex(sql.executequery())) {                         swrs1.stop();                         final datatable dt = databasemanager.copytodatatable(rs);                         logger.info(string.format("returned %d rows", dt.gettotalrows()));                          boolean pagingok = false;                          if (sql.getmoreresults()) {                             swrs2.start();                             try (final resultsetex rs2 = new resultsetex(sql.getresultset())) {                                 swrs2.stop();                                 if (rs2.next()) {                                     pagingok = true;                                      final int totalrows = rs2.getint("total_rows");                                     final int lastpagenum = rs2.getint("page_number");                                     final int lastpagesize = rs2.getint("page_size");                                     final int totalpages = rs2.getint("total_pages");                                     final string searchxml = rs2.getstring("search_criteria_xml");                                     dt.settotalrows(totalrows);                                     dt.setpagenumber(lastpagenum);                                     dt.setpagesize(lastpagesize);                                     dt.settotalpages(totalpages);                                     dt.setsearchxml(searchxml);                                 }                             }                         }                         if (!pagingok) {                             throw new exception("paging information results missing");                         }                     }                 }             } {                 logger.info("total elapsed time  : " + swtotal.tostring());                 logger.info("1st result set time :" + swrs1.tostring());                 logger.info("2nd result set time :" + swrs2.tostring());             }         } catch (exception ex) {             logger.log(level.severe, ex.getmessage(), ex);         }     } } 

here output:

aug 08, 2016 10:42:46 com.[redacted].poc.sql.testsql.app main info: running query aug 08, 2016 10:42:55 com.[redacted].poc.sql.testsql.app main info: returned 25 rows aug 08, 2016 10:42:55 com.[redacted].poc.sql.testsql.app main info: total elapsed time  : 00:00:08.900 aug 08, 2016 10:42:55 com.[redacted].poc.sql.testsql.app main info: 1st result set time :00:00:08.876 aug 08, 2016 10:42:55 com.[redacted].poc.sql.testsql.app main info: 2nd result set time :00:00:00.000 

so appears me inside gae library forcibly killing sql connection @ socket level. application needs process query result, can't ignore it. has found setting or other way resolve issue? i've gone on gae docs @ nausium, , done plenty of google searching no avail. seems odd me there hard 5 second limit on query unable override. know allow 60 second max timeout on urlfetch , task queue calls, hoping missing something...

i submitted bug google, , verified it's issue, guess not me. :)

https://code.google.com/p/googleappengine/issues/detail?id=13194


Comments