Hi Brandon,

Thanks for the reply.  Just from a bit more research, this seems to be
related to loading requests (http://code.google.com/appengine/kb/
java.html#What_Is_A_Loading_Request) and their frequency.  From the
FAQ, it seems like with apps with minimal traffic, or test traffic,
VMs seem to be recycled during inactivity.  When subsequent requests
hit your app after your VM has been handed off, GAE has to spin up a
new JVM (a loading request) which re-initializes the entire context
(and also eats up significant CPU time).  Anyways, kinda sucks that
this is how it works, but I can understand why they'd want to do
that.  And, this only really affects apps in testing or production
apps with little traffic.  When we get real traffic, *hopefully* this
becomes a non-issue.

Also, it looks like they're playing around with the idea of being able
to pay to reserve a dedicated JVM (http://code.google.com/appengine/kb/
java.html#Can_I_Pay_To_Reserve_My_JVM).  This would be a good solution
as well.


Charles


On Feb 12, 12:31 pm, Brandon Thomson <gra...@gmail.com> wrote:
> Charles, the app instance can be unloaded at any time and a new one
> will initialize to handle the next incoming request. there can be up
> to 30 at once. it is by design, not an error.
>
> On Feb 12, 12:20 am, Charles <char...@whoischarles.com> wrote:
>
> > Hi all,
>
> > I've created a very simple application as a test for a bigger
> > application I'm thinking of building on GAE.  Right now, it mostly
> > contains only two servlets and a single cron job.  One servlet is
> > loaded on init (and logs an init message), and the other one is called
> > every minute by the cron job (and also logs a message).  My issue is
> > that I'm watching the logs and I'm noticing that my applications
> > context is reloaded after an arbitrary amount of time.  To be more
> > precise, here is an example of what I'd see in the logs...
>
> > [INFO] Application initializing...
> > [INFO] Servlet called 1 times.
> > [INFO] Servlet called 2 times.
> > [INFO] Servlet called 3 times.
> > ...
> > [INFO] Servlet called 79 times.
> > [INFO] Servlet called 80 times.
> > [INFO] Application initializing...
> > [INFO] Servlet called 1 times.
> > [INFO] Servlet called 2 times.
>
> > So, as you can see, the application starts and the init servlet is
> > loaded (as expected) and I get the "Application initializing" info log
> > message.  After that, cron calls the other servlet every minute, and
> > it posts another log message.  However, after a seemingly random
> > amount of time, in this case 80 minutes, the application context
> > reloads which makes me assume that my entire application restarted.
> > It happens at different intervals each time, anywhere from half an
> > hour to a few hours.  And, I never get any error messages in my log.
> > Can someone help me understand this?
>
> > Thanks in advance
>
> > Charles

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to