Memcache writer exception

55 views
Skip to first unread message

Deepak Singh

unread,
Jan 16, 2013, 12:13:48 PM1/16/13
to google-a...@googlegroups.com
Hi All,

Most frequently i am getting following exception

  1. java.lang.NullPointerException
    	at com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java:150)
    	at com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:151)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:102)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    	at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:266)
    	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    	at org.mortbay.jetty.Server.handle(Server.java:326)
    	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    	at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
    	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    	at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:146)
    	at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447)
    	at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)
    	at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)
    	at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)
    	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)
    	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)
    	at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)
    	at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
    	at java.lang.Thread.run(Thread.java:679)
    
  2. C2013-01-16 22:39:48.155
    Uncaught exception from servlet
    java.lang.NullPointerException
    	at com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java:150)
    	at com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:151)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    	at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:102)
    	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)


what precaution i should take to avoid this error ?

Deepak Singh
Message has been deleted

Ryan Chazen

unread,
Jan 16, 2013, 2:53:58 PM1/16/13
to google-a...@googlegroups.com
Appstats persists the stats to memcache so that you don't use up pricey datastore writes on stats data. What's going on there is that the memcache write appears to be failing (?), and this is making it crash out.

You are probably triggering a bug in appstats to cause this - ParseBlobUploadFilter implies this is an upload data request? I don't know enough about AppEngine internals and the SDK is closed source, so who knows.
File an issue on the issue tracker so Google can fix it.

Solutions:
Turn off AppStats for production apps, use it for testing/debugging only. This is also good as using it for production means you have less room in memcache for your own objects, and the memcache is fairly small...
or
Exclude appstats (in web.xml) from running on that particular servlet that is causing the problem.

Deepak Singh

unread,
Jan 18, 2013, 10:49:25 AM1/18/13
to google-a...@googlegroups.com
Got it.

How much data memcache can store ?



--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/NUo41BLHUn0J.

To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.



--
Deepak Singh
Reply all
Reply to author
Forward
0 new messages