Johan no I didn't change the default error handler. In our case memcache failed when executing putAll().
Are you confirming that this is currently a bug in the trunk (hence 1.5.5)? It has a rather scary implication i.e. misbehaving memcache would take down a site. On Oct 27, 4:34 pm, Johan Euphrosine <[email protected]> wrote: > After taking a closer look at the implementation, I found the method > throwing the reported exception > (MemcacheServiceException):http://www.google.com/codesearch#Qx8E-7HUBTk/trunk/java/src/main/com/... > > It appears that it doesn't rely on getErrorHandler for routing errors > and throws MemcacheServiceException directly. > > That should be pretty easy to verify using an unittest. > > Let me know if I missed something. > > > > > > > > > > On Thu, Oct 27, 2011 at 2:19 PM, Johan Euphrosine <[email protected]> wrote: > > Jeff, you are right the default handler is supposed to handle both > > DeserializationError and ServiceError: > >http://code.google.com/p/googleappengine/source/browse/trunk/java/src... > > > Jon did you change the default memcache error handler ? > > > On Thu, Oct 27, 2011 at 1:37 PM, Jeff Schnitzer <[email protected]> wrote: > >> Are you saying that we should not expect the > >> MemcacheService.set/getErrorHandler(), with its default value of > >> LogAndContinueErrorHandler, to do what it says? I expect memcacheservice > >> to > >> fail silently. > >> Is it possible that the error handler showed up in 1.5.5? The OP mentioned > >> in another thread that he is running on 1.5.4. > >> Jeff > >> On Wed, Oct 26, 2011 at 5:12 PM, Johan Euphrosine <[email protected]> > >> wrote: > > >>> Hi Jon, > > >>> It is important that you have proper exception handling for all your > >>> API calls, as there is always a possibility of them failing (otherwise > >>> we wouldn't document those methods as throwing an exception). In the > >>> catch block you should usually fallback or retry gracefully: for > >>> memcache it makes senses to fallback on datastore (more latency, but > >>> more reliable). > > >>> In addition you can use the capabilities API to proactively query if a > >>> given API is available, this is described in details by Nick Johnson > >>> in the following blog post: > > >>>http://blog.notdot.net/2010/03/Handling-downtime-The-capabilities-API... > > >>> Hope that helps. > > >>> On Thu, Oct 27, 2011 at 8:28 AM, jon <[email protected]> wrote: > >>> > How did you fix/get around this problem? > > >>> > It was pointed out to me that the MemcacheService by default should > >>> > *NOT* throw any exception, therefore what I was seeing is a bug. > > >>> > Can anyone from Google confirm if this is the case? I'm using 1.5.4. > > >>> > On Oct 26, 9:32 am, James Broberg <[email protected]> wrote: > >>> >> Fair enough. At least you got a memcache exception :) In our case > >>> >> performance just deteriorated and eventually it timed out. > > >>> >> On 26 October 2011 00:17, jon <[email protected]> wrote: > > >>> >> > Thanks James for pointing them out. They're not entirely identical in > >>> >> > that the symptom is different (i.e. the exception I got is > >>> >> > different). > >>> >> > However there's a common pattern whereby an app seems to be assigned > >>> >> > a > >>> >> > memcache "service provider" and if this provider misbehaves the app > >>> >> > will be stuck with it instead of getting reassigned a new, healthy > >>> >> > replacement. > > >>> >> > On Oct 25, 11:26 pm, James Broberg <[email protected]> wrote: > >>> >> >> Sounds familiar: > > >>> >> >> >>http://code.google.com/p/googleappengine/issues/detail?id=5790http://... > > >>> >> >> On 25 October 2011 20:16, jon <[email protected]> wrote: > > >>> >> >> > Memcache for our app is back now. > > >>> >> >> > According to the log, memcache write operations started throwing > >>> >> >> > com.google.appengine.api.memcache.MemcacheServiceException at > >>> >> >> > 17:49 > >>> >> >> > (Melbourne > >>> >> >> > time) and stopped at 18:56. In other words memcache was > >>> >> >> > unavailable > >>> >> >> > for over 1 > >>> >> >> > hour. > > >>> >> >> > We use memcache heavily, so our site would've been down for that > >>> >> >> > long > >>> >> >> > if we > >>> >> >> > hadn't stepped in to turn off all uses of memcache. > > >>> >> >> > Question for Google: is there an affinity between an app and it's > >>> >> >> > memcache > >>> >> >> > service provider? How can memcache consistently error out for the > >>> >> >> > same > >>> >> >> > application for that long? > > >>> >> >> > On Oct 25, 6:29 pm, jon <[email protected]> wrote: > >>> >> >> >> Hi, > > >>> >> >> >> Writing to memcache is down for one of our apps, other apps are > >>> >> >> >> OK. > > >>> >> >> >> The error message says: > >>> >> >> >> java.lang.RuntimeException: > >>> >> >> >> com.google.appengine.api.memcache.MemcacheServiceException: > >>> >> >> >> Memcache > >>> >> >> >> put: Set failed to set 20 keys > > >>> >> >> >> The affected app id: thecrowdvoice > > >>> >> >> >> Could someone from Google urgently take a look please? > > >>> >> >> >> Thanks in advance, > >>> >> >> >> Jon > > >>> >> >> > -- > >>> >> >> > You received this message because you are subscribed to the Google > >>> >> >> > Groups "Google App Engine" 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 > >>> >> >> > athttp://groups.google.com/group/google-appengine?hl=en. > > >>> >> > -- > >>> >> > You received this message because you are subscribed to the Google > >>> >> > Groups "Google App Engine" 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 > >>> >> > athttp://groups.google.com/group/google-appengine?hl=en. > > >>> > -- > >>> > You received this message because you are subscribed to the Google > >>> > Groups "Google App Engine" 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?hl=en. > > >>> -- > >>> Johan Euphrosine (proppy) > >>> Developer Programs Engineer > >>> Google Developer Relations > > >>> -- > >>> You received this message because you are subscribed to the Google Groups > >>> "Google App Engine" 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?hl=en. > > >> -- > >> You received this message because you are subscribed to the Google Groups > >> "Google App Engine" 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?hl=en. > > > -- > > Johan Euphrosine (proppy) > > Developer Programs Engineer > > Google Developer Relations > > -- > Johan Euphrosine (proppy) > Developer Programs Engineer > Google Developer Relations -- You received this message because you are subscribed to the Google Groups "Google App Engine" 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?hl=en.
