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

 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 at http://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.

Reply via email to