I am also seeing that every request hits "Initializing Spring
FrameworkServlet", which takes good chunk of CPU and significantly
slows down the response, ut to a level when web application in not
useable.

  It been mentioned before that there is some ongoing work to reduce
the startup time and I wonder if there is any opdate on that yet?

  Thanks

  Eugene


On Jan 8, 10:34 am, Wong <[email protected]> wrote:
> I suspect the cause of the problem is the ping cron every 3 minutes. I
> also get the following warning:
>
> "This request used a high amount of CPU, and was roughly 1.2 times
> over the average request CPU limit. High CPU requests have a small
> quota, and if you exceed this quota, your app will be temporarily
> disabled."
>
> The ping cron is very simple task. It accesses an URL which output a
> short text
>
> Full stack trace:
> #
>
> 0.1.0.1 - - [08/Jan/2010:07:22:05 -0800] "GET /ping HTTP/1.1" 200 45 -
> - "mobisociety.appspot.com"
>
> #
> I 01-08 07:21AM 43.585
>
> javax.servlet.ServletContext log:InitializingSpringroot
> WebApplicationContext
>
> #
> W 01-08 07:21AM 47.796
>
> org.springframework.security.config.method.GlobalMethodSecurityBeanDefinitionParser
> parse: Expressions were enabled for method security but no
> SecurityExpressionHandler was configured. All hasPermision()
> expressions will evaluate to false.
>
> #
> I 01-08 07:22AM 03.596
>
> javax.servlet.ServletContext log:
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf
> ok)
>
> #
> I 01-08 07:22AM 03.689
>
> javax.servlet.ServletContext log:InitializingSpringFrameworkServlet
> 'dispatcher'
>
> #
> E 01-08 07:22AM 05.397
>
> org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext:
> Exceptioninitializingpage context
> java.lang.ExceptionInInitializerError
>         at com.google.appengine.api.memcache.MemcacheServicePb
> $MemcacheSetResponse.<clinit>(MemcacheServicePb.java:2649)
>         at com.google.appengine.api.memcache.MemcacheServiceImpl.put
> (MemcacheServiceImpl.java:315)
>         at com.google.appengine.api.memcache.MemcacheServiceImpl.put
> (MemcacheServiceImpl.java:376)
>         at com.google.apphosting.runtime.jetty.SessionManager.createSession
> (SessionManager.java:334)
>         at com.google.apphosting.runtime.jetty.SessionManager
> $AppEngineSession.<init>(SessionManager.java:135)
>         at com.google.apphosting.runtime.jetty.SessionManager.newSession
> (SessionManager.java:265)
>         at com.google.apphosting.runtime.jetty.SessionManager.newSession
> (SessionManager.java:50)
>         at org.mortbay.jetty.servlet.AbstractSessionManager.newHttpSession
> (AbstractSessionManager.java:413)
>         at org.mortbay.jetty.Request.getSession(Request.java:1005)
>         at org.mortbay.jetty.Request.getSession(Request.java:977)
>         at org.apache.jasper.runtime.PageContextImpl._initialize
> (PageContextImpl.java:147)
>         at org.apache.jasper.runtime.PageContextImpl.initialize
> (PageContextImpl.java:122)
>         at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext
> (JspFactoryImpl.java:104)
>         at org.apache.jasper.runtime.JspFactoryImpl.access$000
> (JspFactoryImpl.java:37)
>         at org.apache.jasper.runtime.JspFactoryImpl
> $PrivilegedGetPageContext.run(JspFactoryImpl.java:151)
>         at
> com.google.apphosting.runtime.security.shared.intercept.java.security.AccessController_.doPrivileged
> (AccessController_.java:34)
>         at org.apache.jasper.runtime.JspFactoryImpl.getPageContext
> (JspFactoryImpl.java:59)
>         at org.apache.jsp.ping_jsp._jspService(ping_jsp.java:33)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> 487)
>         at org.mortbay.jetty.servlet.ServletHandler.handle
> (ServletHandler.java:362)
>         at org.mortbay.jetty.security.SecurityHandler.handle
> (SecurityHandler.java:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle
> (SessionHandler.java:181)
>         at org.mortbay.jetty.handler.ContextHandler.handle
> (ContextHandler.java:712)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> 405)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
>         at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>         at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite
> (NormalRewrittenUrl.java:195)
>         at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite
> (RuleChain.java:159)
>         at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:
> 141)
>         at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest
> (UrlRewriter.java:90)
>         at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter
> (UrlRewriteFilter.java:417)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1084)
>         at
> org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal
> (OpenEntityManagerInViewFilter.java:113)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:76)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1084)
>         at org.springframework.security.web.FilterChainProxy.doFilter
> (FilterChainProxy.java:144)
>         at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate
> (DelegatingFilterProxy.java:237)
>         at org.springframework.web.filter.DelegatingFilterProxy.doFilter
> (DelegatingFilterProxy.java:167)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1084)
>         at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter
> (ParseBlobUploadFilter.java:97)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1084)
>         at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter
> (SaveSessionFilter.java:35)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1084)
>         at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
> (TransactionCleanupFilter.java:43)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> (ServletHandler.java:1084)
>         at org.mortbay.jetty.servlet.ServletHandler.handle
> (ServletHandler.java:360)
>         at org.mortbay.jetty.security.SecurityHandler.handle
> (SecurityHandler.java:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle
> (SessionHandler.java:181)
>         at org.mortbay.jetty.handler.ContextHandler.handle
> (ContextHandler.java:712)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> 405)
>         at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle
> (AppVersionHandlerMap.java:238)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle
> (HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:313)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> 506)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
> (HttpConnection.java:830)
>         at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable
> (RpcRequestParser.java:76)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
>         at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest
> (JettyServletEngineAdapter.java:135)
>         at com.google.apphosting.runtime.JavaRuntime.handleRequest
> (JavaRuntime.java:235)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:5235)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:5233)
>         at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
> (BlockingApplicationHandler.java:24)
>         at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> 363)
>         at com.google.net.rpc.impl.Server$2.run(Server.java:838)
>         at com.google.tracing.LocalTraceSpanRunnable.run
> (LocalTraceSpanRunnable.java:56)
>         at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
> (LocalTraceSpanBuilder.java:536)
>         at com.google.net.rpc.impl.Server.startRpc(Server.java:793)
>         at com.google.net.rpc.impl.Server.processRequest(Server.java:368)
>         at com.google.net.rpc.impl.ServerConnection.messageReceived
> (ServerConnection.java:448)
>         at com.google.net.rpc.impl.RpcConnection.parseMessages
> (RpcConnection.java:319)
>         at com.google.net.rpc.impl.RpcConnection.dataReceived
> (RpcConnection.java:290)
>         at com.google.net.async.Connection.handleReadEvent(Connection.java:
> 466)
>         at com.google.net.async.EventDispatcher.processNetworkEvents
> (EventDispatcher.java:759)
>         at com.google.net.async.EventDispatcher.internalLoop
> (EventDispatcher.java:205)
>         at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> 101)
>         at com.google.net.rpc.RpcService.runUntilServerShutdown
> (RpcService.java:251)
>         at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
> (JavaRuntime.java:394)
>         at java.lang.Thread.run(Unknown Source)
> Caused by: com.google.apphosting.api.DeadlineExceededException: This
> request (aa99528a97529b43) started at 2010/01/08 15:21:36.785 UTC and
> was still executing at 2010/01/08 15:22:05.335 UTC.
>         at com.google.protobuf.CodedInputStream.readRawByte
> (CodedInputStream.java:665)
>         at com.google.protobuf.CodedInputStream.readRawVarint32
> (CodedInputStream.java:290)
>         at com.google.protobuf.CodedInputStream.readTag(CodedInputStream.java:
> 58)
>         at com.google.protobuf.DescriptorProtos$FieldDescriptorProto
> $Builder.mergeFrom(DescriptorProtos.java:2794)
>         at com.google.protobuf.DescriptorProtos$FieldDescriptorProto
> $Builder.mergeFrom(DescriptorProtos.java:2679)
>         at com.google.protobuf.CodedInputStream.readMessage
> (CodedInputStream.java:229)
>         at com.google.protobuf.DescriptorProtos$DescriptorProto
> $Builder.mergeFrom(DescriptorProtos.java:1911)
>         at com.google.protobuf.DescriptorProtos$DescriptorProto
> $Builder.mergeFrom(DescriptorProtos.java:1745)
>         at com.google.protobuf.CodedInputStream.readMessage
> (CodedInputStream.java:229)
>         at com.google.protobuf.DescriptorProtos$DescriptorProto
> $Builder.mergeFrom(DescriptorProtos.java:1917)
>         at com.google.protobuf.DescriptorProtos$DescriptorProto
> $Builder.mergeFrom(DescriptorProtos.java:1745)
>         at com.google.protobuf.
>
> #
> W 01-08 07:22AM 05.521
>
> This request used a high amount of CPU, and was roughly 1.2 times over
> the average request CPU limit. High CPU requests have a small quota,
> and if you exceed this quota, your app will be temporarily disabled.
-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.


Reply via email to