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.

Reply via email to