John, I've posted the pretty much complete log in my very first message. If I read it correctly the request took 10012ms and it haven't used any CPU (0cpu_ms) and there was NO other requests within 30 minutes around that time. More over, if I kick the very same url as defined in cron.xml manually from the browser, it works. So, the issue seem only affects requests coming from the cron.xml
The only thing I could do to to avoid execution of context listener (besides of dropping Spring MVC and Spring Security) is split application into a two separate apps, but then I won't be able to access the same data storage. regards, Eugene On Mar 1, 12:41 pm, John Patterson <jdpatter...@gmail.com> wrote: > When you get the "Request was aborted after waiting too long ..." > message there will be no stack trace because your code is never run. > Rest assured you can run tasks for 30 seconds - I do it myself. > > Context listeners are run on every loading request so why do you say > that splitting your code will not reduce start up time? Surely if > there is less code to initialise it will take less time no? > > Could you post your log file of requests before and after the error? > > On 2 Mar 2010, at 00:17, Eugene Kuleshov wrote: > > > > > John, I hear you, but I am quite certain that there is no other > > requests. It happen in a middle of the night when there is no users > > and the failing request is initiated by the GAE's own cron, so there > > is no refresh of the pages, nor any requests for css. > > > With Spring framework, the most of the initialization happens in > > either startup servlet or context listener, so splitting application > > won't address the issue. > > > Another problem is that request is terminated without providing any > > stack trace, so it is rather hard to debug issue on a live system. > > > regards, > > Eugene > > > On Mar 1, 12:10 pm, John Patterson <jdpatter...@gmail.com> wrote: > >> Hi Eugene, > > >> All it takes are two requests to see that error - the first to start > >> the application loading and then any other request (even a request > >> for > >> a css file or refreshing the page) will wait 10 seconds and then > >> throw > >> that exception. It is rare that a single page does not need more > >> than > >> one request. > > >> In my opinion this loading request problem is the biggest hidden > >> gotcha that should be written in big red letters on the introduction > >> page. It could end up requiring you to discard the frameworks you > >> are > >> accustomed to using. > > >> Something which helped me was to split my app into an "admin" version > >> and a user facing "client" version. That reduced the loading time of > >> the client version significantly. > > >> On 1 Mar 2010, at 23:35, Eugene Kuleshov wrote: > > >>> John, > > >>> My application is hardly used right now, so there is certainly NO > >>> other requests coming in. So, I still don't understand why execution > >>> is cut after 10 seconds instead of promised 30 seconds. > > >>> With such limitation GAE for Java is practically making impossible > >>> to use the most popular web framework (i.e. Spring MVC + Spring > >>> Security + Spring Core), but I'd be interested to hear how you can > >>> replace such stack with something based on Guice. > > >>> regards, > >>> Eugene > > >>> On Feb 28, 11:55 pm, John Patterson <jdpatter...@gmail.com> wrote: > >>>> You get this message when you app is still starting while other > >>>> requests come in. The only current solution is to reduce start up > >>>> time - pinging is not a satisfactory solution because you still get > >>>> frequent "loading requests". With Guice I was able to reduce > >>>> star up > >>>> by using a non AOP version which did no bytecode enhancement. > >>>> Also, > >>>> try delaying initialising components until they are needed. > > >>>> On 1 Mar 2010, at 08:45, Eugene Kuleshov wrote: > > >>>>> I have Java application deployed on the appengine and it has > >>>>> several > >>>>> job definitions. However I see that Scheduled Tasks are aborted > >>>>> within > >>>>> 10 seconds from the start, even so corresponding FAQ entry > >>>>> states 30 > >>>>> seconds.http://code.google.com/appengine/docs/java/runtime.html#Quotas_and_Li > >>>>> ... > > >>>>> This is a big problem for any applications using Springframework, > >>>>> which has startup time about 20 seconds. > > >>>>> Here is corresponding entry from the log file for one of the > >>>>> executions of such scheduled task. > > >>>>> --- > >>>>> 1. 02-28 02:45PM 39.147 /fetch.htm?... 500 10012ms 0cpu_ms 0kb > >>>>> See details > > >>>>> 0.1.0.1 - - [28/Feb/2010:14:45:49 -0800] "GET /fetch.htm?... > >>>>> HTTP/1.1" 500 0 - - "ipsc-stats.appspot.com" > > >>>>> 2. W 02-28 02:45PM 49.160 > > >>>>> Request was aborted after waiting too long to attempt to > >>>>> service > >>>>> your request. Most likely, this indicates that you have reached > >>>>> your > >>>>> simultaneous dynamic request limit. This is almost always due to > >>>>> excessively high latency in your app. Please see > >>>>>http://code.google.com/appengine/docs/quotas.htmlformoredetails. > >>>>> --- > > >>>>> Can you please advise what could be done in such and if I am > >>>>> missing > >>>>> anything obvious? > > >>>>> Thanks > > >>>>> Eugene > > >>>>> -- > >>>>> 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 > >>>>> athttp://groups.google.com/group/google-appengine-java?hl=en > >>>>> . > > >>> -- > >>> 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 > >>> athttp://groups.google.com/group/google-appengine-java?hl=en > >>> . > > > -- > > 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 > > athttp://groups.google.com/group/google-appengine-java?hl=en > > . -- 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-j...@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.