arthurnn / memcached

A Ruby interface to the libmemcached C client
Academic Free License v3.0
432 stars 127 forks source link

Exception Behaviour #136

Closed mnzaki closed 11 years ago

mnzaki commented 11 years ago

I'm using memcached as the rails cache_store. Does it really make sense to raise any exceptions at all on failure? If the memcache servers are down for example, the app can still continue to function.

Is there a specific reason that not all exceptions are silenced in Memcached::Rails, but only the NotFound/NotStored exceptions?

For reference, Dalli logs failures and raises no exceptions.

evan commented 11 years ago

What exceptions do you have in mind? The default retry settings will only throw if the entire cluster is down.

If your app can really function fine without a cache, then it's not clear to me why you are using one...? Just to reduce latency?

mnzaki commented 11 years ago

I'm mainly considering the case with the entire cluster down. And yes I'm using the cache, as most caches are used, for latency purposes since several things are pretty expensive to render on each request. With the memcached cluster down I'd much prefer a slower app to a completely non-functional one.

And memcache-client and dalli seem to behave in this, IMHO, saner way.

evan commented 11 years ago

Understand. I think it would be reasonable to rescue any Memcached-derived exception in the Rails helpers. I don't want to change the superclass though.

Can you submit a pull request?