[appengine-java] memcache service down?
Hi all, I saw that most of my cron jobs which are using calls to memcache are down, is this a known issue? This is the exception I see in the logs: com.google.appengine.api.memcache.LogAndContinueErrorHandler handleServiceError: Service error in memcache com.google.appengine.api.memcache.MemcacheServiceException: Memcache getStatistics: exception at com.google.appengine.api.memcache.MemcacheServiceImpl.makeSyncCall (MemcacheServiceImpl.java:168) at com.google.appengine.api.memcache.MemcacheServiceImpl.getStatistics (MemcacheServiceImpl.java:582) at com.google.appengine.api.memcache.stdimpl.GCache.getCacheStatistics (GCache.java:110) at com.google.appengine.api.memcache.stdimpl.GCache.size(GCache.java: 138) at com.google.appengine.api.memcache.stdimpl.GCache.isEmpty (GCache.java:142) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToBoolean (DefaultTypeTransformation.java:157) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.booleanUnbox (DefaultTypeTransformation.java:61) at MemcacheService.getCache(MemcacheService.groovy:69) at MemcacheService$getCache.callCurrent(Unknown Source) at MemcacheService.containsKey(MemcacheService.groovy:32) at MemcacheService$$FastClassByCGLIB$$9f2adf08.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628) at MemcacheService$$EnhancerByCGLIB$$2dbfd592.containsKey () at MemcacheService$containsKey.call(Unknown Source) at TwitterService.getTweets(TwitterService.groovy:97) at TwitterService$$FastClassByCGLIB$$e73568e2.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy $CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.Cglib2AopProxy $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635) at TwitterService$$EnhancerByCGLIB$$d755a070.getTweets() at TwitterService$getTweets.call(Unknown Source) at org.groovytweets.CronController$_closure2.doCall (CronController.groovy:47) at sun.reflect.GeneratedMethodAccessor297.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_ $3.run(Method_.java:149) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke (Method_.java:147) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke (Method_.java:120) at The app was not changed since a couple of days (appid groovytweets), so I cannot imagine this is an error on my side. Are there any know issues right now, maybe because of the datacenter move? Cheers Sven --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Re: memcache service down?
Adding to that: I just saw the new version live for one 'request' - I then thought it all works and changed the main version to the new version. Upon testing groovytweets.org it did not work any more... so I switched back but now the OLD version is also down... ? Soo There must be something strange going on here I hope. Cheers Sven On Sep 1, 8:13 pm, hansamann wrote: > Hi all, > > I saw that most of my cron jobs which are using calls to memcache are > down, is this a known issue? > > This is the exception I see in the logs: > > com.google.appengine.api.memcache.LogAndContinueErrorHandler > handleServiceError: Service error in memcache > com.google.appengine.api.memcache.MemcacheServiceException: Memcache > getStatistics: exception > at com.google.appengine.api.memcache.MemcacheServiceImpl.makeSyncCall > (MemcacheServiceImpl.java:168) > at com.google.appengine.api.memcache.MemcacheServiceImpl.getStatistics > (MemcacheServiceImpl.java:582) > at com.google.appengine.api.memcache.stdimpl.GCache.getCacheStatistics > (GCache.java:110) > at com.google.appengine.api.memcache.stdimpl.GCache.size(GCache.java: > 138) > at com.google.appengine.api.memcache.stdimpl.GCache.isEmpty > (GCache.java:142) > at > org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToBoolean > (DefaultTypeTransformation.java:157) > at > org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.booleanUnbox > (DefaultTypeTransformation.java:61) > at MemcacheService.getCache(MemcacheService.groovy:69) > at MemcacheService$getCache.callCurrent(Unknown Source) > at MemcacheService.containsKey(MemcacheService.groovy:32) > at MemcacheService$$FastClassByCGLIB$$9f2adf08.invoke() > at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) > at org.springframework.aop.framework.Cglib2AopProxy > $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628) > at MemcacheService$$EnhancerByCGLIB$$2dbfd592.containsKey > () > at MemcacheService$containsKey.call(Unknown Source) > at TwitterService.getTweets(TwitterService.groovy:97) > at TwitterService$$FastClassByCGLIB$$e73568e2.invoke() > at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) > at org.springframework.aop.framework.Cglib2AopProxy > $CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed > (ReflectiveMethodInvocation.java:149) > at > org.springframework.transaction.interceptor.TransactionInterceptor.invoke > (TransactionInterceptor.java:106) > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed > (ReflectiveMethodInvocation.java:171) > at org.springframework.aop.framework.Cglib2AopProxy > $DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635) > at TwitterService$$EnhancerByCGLIB$$d755a070.getTweets() > at TwitterService$getTweets.call(Unknown Source) > at org.groovytweets.CronController$_closure2.doCall > (CronController.groovy:47) > at sun.reflect.GeneratedMethodAccessor297.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_ > $3.run(Method_.java:149) > at java.security.AccessController.doPrivileged(Native Method) > at > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke > (Method_.java:147) > at > com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke > (Method_.java:120) > at > > The app was not changed since a couple of days (appid groovytweets), > so I cannot imagine this is an error on my side. Are there any know > issues right now, maybe because of the datacenter move? > > Cheers > Sven --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Re: GAE down? Response Error 500
same here, I get this Uncaught exception from servlet javax.servlet.UnavailableException: Initialization failed. at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:199) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:167) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:127) at com.google.apphosting.runtime.JavaRuntime.handleRequest (JavaRuntime.java:235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4950) at com.google.apphosting.base.RuntimePb$EvaluationRuntime $6.handleBlockingRequest(RuntimePb.java:4948) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest (BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: 359) at com.google.net.rpc.impl.Server$2.run(Server.java:823) at com.google.tracing.LocalTraceSpanRunnable.run (LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan (LocalTraceSpanBuilder.java:516) at com.google.net.rpc.impl.Server.startRpc(Server.java:778) at com.google.net.rpc.impl.Server.processRequest(Server.java:351) at com.google.net.rpc.impl.ServerConnection.messageReceived (ServerConnection.java:437) 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: 428) at com.google.net.async.EventDispatcher.processNetworkEvents (EventDispatcher.java:762) at com.google.net.async.EventDispatcher.internalLoop (EventDispatcher.java:207) 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:392) at java.lang.Thread.run(Unknown Source) Unexpected exception from servlet: javax.servlet.UnavailableException: Initialization failed. App-Id : groovytweets Also no changes and it was up after the last deployment... Cheers Sven On Sep 2, 4:55 pm, Alexander Orlov wrote: > http://1.latest.xy.appspot.comis buggy buthttp://2.latest.xy.appspot.com > works. However all my http://*.latest.wentity.appspot.com/ instances > of my "heavy weight" app are down. > > On Sep 3, 1:52 am, Don Schwarz wrote: > > > When was the last time thathttp://1.latest.xy.appspot.comworked? I see > > nothing but 500's since early August. > > Version 2 seems to be fine: http://xy.appspot.com/ > > > On Wed, Sep 2, 2009 at 6:37 PM, Alexander Orlov > > wrote: > > > >http://1.latest.xy.appspot.com/ > > >http://4.latest.wentity.appspot.com/ > > > > ...all my Java apps are down (Response Error 500). I know that my "xy" > > > app should work as haven't change it. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Re: GAE down? Response Error 500
DataStore GET error rate is 100% currently, so I guess that is what some of use are kind of experiencing. Cheers Sven On Sep 2, 7:57 pm, Matthew Blain wrote: > We are investigating this issue and are rolling back a recent change. > > --Matthew --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Tasks not executed
Hi all, I am just trying out the new Task Queue API for Java (many thanks) and the insertion of tasks into a queue seems to work fine, but I cannot see them being exectuted :-) Maybe I am not understanding a trivial thing here... This is the queue.xml: updateTweets 5/s It shows up correctly in the dashboard. Next, I created a simple Grails action to insert a task into this queue: def triggerQueue = { Queue queue = QueueFactory.getQueue('updateTweets') TaskHandle handle = queue.add(url("/play/updateQueue").param ("screenName", 'hansamann')) render "Queued a new task for updateTweets queue..." } This seems to work. I can call the triggerQueue action and it will render the specified string, meaning no exceptions were thrown. I can also see that the number of tasks in the queue in the dashboard has been increased. I can also call the task web hook /play/updateQueue directly, it works. This is the implementation of that action: def updateQueue = { mailService.sendAdminMail("queue test - screenName $ {params.screenName}", "${params.screenName}") render 'OK' } Once I call this manually, I get an email just as supposed. --- It is now about 30 mins since 2 tasks have been added to the queue, I got no emails. The logs do not show exceptions that are task-specific. The app-id is 'groovytweets'. Has anyone else successfully tried it out and can post a quick description? Cheers Sven --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Re: Tasks not executed
Problem solved - the web hook was a protected resource, I once created a Grails filter to protect some controllers and the action I called was within this controller. Seems to work now. Cheers Sven On Sep 7, 8:36 pm, hansamann wrote: > Hi all, > > I am just trying out the new Task Queue API for Java (many thanks) > and the insertion of tasks into a queue seems to work fine, but I > cannot see them being exectuted :-) Maybe I am not understanding a > trivial thing here... > > This is the queue.xml: > > > > > updateTweets > 5/s > > > > It shows up correctly in the dashboard. > > Next, I created a simple Grails action to insert a task into this > queue: > > def triggerQueue = { > Queue queue = QueueFactory.getQueue('updateTweets') > TaskHandle handle = queue.add(url("/play/updateQueue").param > ("screenName", 'hansamann')) > render "Queued a new task for updateTweets queue..." > } > > This seems to work. I can call the triggerQueue action and it will > render the specified string, meaning no exceptions were thrown. I can > also see that the number of tasks in the queue in the dashboard has > been increased. > > I can also call the task web hook /play/updateQueue directly, it > works. This is the implementation of that action: > > def updateQueue = { > > mailService.sendAdminMail("queue test - screenName $ > {params.screenName}", "${params.screenName}") > render 'OK' > > } > > Once I call this manually, I get an email just as supposed. > > --- > > It is now about 30 mins since 2 tasks have been added to the queue, I > got no emails. The logs do not show exceptions that are task-specific. > The app-id is 'groovytweets'. > > Has anyone else successfully tried it out and can post a quick > description? > > Cheers > Sven --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Task Queue Limits
I know the Task Queue is just experimental for now and things will change, but could we get an estimate by what degree the limits of the API will be affected? The current daily task insertion limit is 10 000 - not much if you do for example think about a twitter-related app that polls for new tweets every minute. Just the polling over 24hrs would then result in 1440 tasks... imagine a service that offers this as a paid model you'd hit the 10 000 with the 7th customer... So here are some basic questions: - with previous experimental features, how did the limits develop? Were they strongly increased? Decreased? - I assume this will also be a feature you can pay for to get extended limits. Roughly, would 1$ be 10 000 insertions, 100 000? I am not sure why there needs to be a limit in this case. Don't get me wrong, but the actual processing of the tasks is of course also paid by the user, right? I think at least knowing roughly what the plan is here would help me to figure out if app-engine is the right place to start thinking about a new app or not. Any ideas welcome? Cheers Sven --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Exception since upgrading to 1.2.5
Hi all, since I updated my app to the latest java sdk, I sometimes see these errors (which results in the homepage of the app being blank or showing an ugly error message): [groovytweets/73.336182399219449559].: StackTrace Sanitizing stacktrace: org.codehaus.groovy.runtime.InvokerInvocationException: javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "retweets" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object. at org.codehaus.groovy.reflection.CachedMethod.invoke (CachedMethod.java:92) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1062) at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java: 926) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:893) at groovy.lang.Closure.call(Closure.java:279) at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag (GroovyPage.java:219) at org.codehaus.groovy.grails.web.pages.GroovyPage$invokeTag $0.callCurrent(Unknown Source) at This is only happening sometimes, although the data queried by the home page will not change every second or so So it is very inconsistent. I am using JPA btw, so can someone tell me if I need to do in order make this work again? Why does it work sometimes? App-Id: groovytweets, v73 (which is live currently) Cheers Sven --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Re: Exception since upgrading to 1.2.5
Trying to give you more info on this. - the error appears sometimes, it causes groovytweets.org fail every other request or so - retweets is a Collection of Entity Retweet, part of the Tweet Entity - worked fine before 1.2.5 - I never detached anything... if I need to, can someone provide an example? I did not find a lot searching jpa detaching. There only seems tobe EntityManager.clear() - which detaches everything. Will this work? Here the mapping: Tweet.groovy @OneToMany(mappedBy="tweet") List retweets ReTweet.groovy @ManyToOne Tweet tweet The code that causes the exception is view code. In a controller, I get a couple of tweet instances and then pass them on to the view for rendering: 1 ... 23retweeted by ${tweet.prettyRetweets} ... 26 wrote: > Yes, please provide more information if you can. There was a bug fix in > 1.2.5 that made queries respect fetch groups, but JPA doesn't have fetch > groups so the error you're reporting suggests that something is wrong here. > Can you boil it down to a small snippet that reproduces the problem? > > Thanks, > Max > > On Wed, Sep 9, 2009 at 10:34 PM, datanucleus wrote: > > > > > > I am using JPA btw, so can someone tell me if I need to do in > > > order make this work again? Why does it work sometimes? > > > Why not look in the log ? It tells you what is detached, when, and > > why. If a field (and who knows what type this field is ...) is not > > detached then you can't access it. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] Re: Exception since upgrading to 1.2.5
I am not sure what you mean. I never detach anything explicitly, so I have no idea how to detach anything else. >javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "retweets" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object. I find that very strange. 1. I am using JPA, how do I get a JDO exception? 2. I never detach anything... so who detaches the main object in this case? Some default behaviour? 3. All I found for detaching reg. JPA is this: In JPA, objects detach automatically when they are serialized or when a persistence context ends. The specification does not define any way to explicitly detach objects. All I found somewhere and I doubt this works on app-engine ( I am not sure which side effects it has, too): EntityManager.clear() - this will detach all objects... --- Would it help if I access the retweets collection right after I queried the datastore? One thing that could be troubling us here is that the view code will call back into the entity objects and then trigger the access of the retweets list. Maybe some context is closed at this point... Cheers Sven On Sep 9, 10:34 pm, datanucleus wrote: > > I am using JPA btw, so can someone tell me if I need to do in > > order make this work again? Why does it work sometimes? > > Why not look in the log ? It tells you what is detached, when, and > why. If a field (and who knows what type this field is ...) is not > detached then you can't access it. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[appengine-java] AppEngine down?
Hi all, without changing the app, I see these errors in the logs: [groovytweets/75.336368063049426232].: StackTrace Sanitizing stacktrace: java.lang.NoClassDefFoundError: Could not initialize class com.google.appengine.api.memcache.MemcacheServicePb $MemcacheStatsRequest at com.google.appengine.api.memcache.MemcacheServiceImpl.getStatistics (MemcacheServiceImpl.java:616) at com.google.appengine.api.memcache.stdimpl.GCache.getCacheStatistics (GCache.java:110) at com.google.appengine.api.memcache.stdimpl.GCache.size(GCache.java: 138) at com.google.appengine.api.memcache.stdimpl.GCache.isEmpty (GCache.java:142) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToBoolean (DefaultTypeTransformation.java:157) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.booleanUnbox (DefaultTypeTransformation.java:61) at MemcacheService.getCache(MemcacheService.groovy:69) The app-id is 'groovytweets' Can anyone from Google confirm issues right now? I'd say NoClassDefFoundError should not occur without changing / redeploying, right? Mhh. Anyone else? Cheers Sven --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---