http://code.google.com/p/googleappengine/issues/detail?id=5790
http://code.google.com/p/googleappengine/issues/detail?id=6167
> --
> You received this message because you are subscribed to the Google Groups "Google App Engine" group.
> 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.
>
>
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-and-testing
Hope that helps.
--
Johan Euphrosine (proppy)
Developer Programs Engineer
Google Developer Relations
Jon did you change the default memcache error handler ?
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.
If you can please attach an unittest that exhibit the bad behaviour.
Thanks in advance.
> --
> 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/-/wqNb9L1OX4cJ.
See:
http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/memcache/MemcacheService.html#put(java.lang.Object,
java.lang.Object, com.google.appengine.api.memcache.Expiration,
com.google.appengine.api.memcache.MemcacheService.SetPolicy)
put
void put(java.lang.Object key,
java.lang.Object value)
A convenience shortcut, equivalent to put(key, value, null,
SetPolicy.SET_ALWAYS).
Parameters:
key - key of the new entry
value - value for the new entry
Throws:
java.lang.IllegalArgumentException - if the key or value type can't be
stored as a cache item. They should be Serializable.
MemcacheServiceException - if server respond with an error.
Hope that clear things up.