- changed status to closed
Potential for permanent locks
After investigating a timeout issue that only happened on a specific endpoint (that endpoint being cached using dogpile.cache) I found that it was stuck until timeout waiting for a creation lock.
Upon looking at the redis database dogpile is using, I found a couple of old locks that were somehow never released.
This is obviously a rather serious issue. A misbehaving / ungracefully shutdown worker caused a value to never be reachable again without manual intervention.
Is this a case that is supposed to be handled by dogpile already?
Comments (3)
-
repo owner -
repo owner also if you are using a redis distributed lock, you'd definitely want a timeout on it, see http://dogpilecache.readthedocs.org/en/latest/api.html#dogpile.cache.backends.redis.RedisBackend.params.lock_timeout. So there's no potential for a "permanent" lock, just a big mess when the locks in fact time out.
-
reporter Ah thanks, I didn't spot that issue!
- Log in to comment
this isn't part of Core per se, I'd refer you to https://bitbucket.org/zzzeek/dogpile.cache/issues/77/handling-redis-lock-timeouts for the ongoing discussion of a Redis-based lock. if changes to Core are needed we can pull them from that issue.