Why is AppEngine serving my requests using cold dynamic instances, without a prior warmup?
I have a web app using Spring Security and Spring MVC, so initializing the contexts take a lot of time, about 70s for both. Therefore, I have split the init into two phases, where the warmup request only initializes my application context (security), and the Spring Dispatcher Servlet is init'd on the next request. That keeps the time below the max 60s.
Now, in my production environment, for some reason client requests are not served by any of the two resident (idle) instances, but instead it is served by a new, cold instance. Then this instance needs to initialize security, dispatcher servlet and serve the request, and this is interrupted after 60s.
The minimum pending latency is set to 500ms, and maximum is set to 15s, to avoid serving using cold instances as much as possible, yet this happens without significant load.