As all fetches of cache are really only useful if they can quickly generate a result, the DatabaseCacheBackend and perhaps other backends should have a time out on their get request.
Service unavailability and bulk deletions #2222635: Waiting for table metadata lock on cache_field table will potentially make a request too long. At the Cache layer we should time out so a request can be generated.
For DatabaseCacheBackend this would be a session lock timeout and could be done by extending the get method.
For things like Memcache it seems there's only a setting on a Memcache instance (Memcached::OPT_CONNECT_TIMEOUT/Memcached::OPT_RECV_TIMEOUT/Memcached::OPT_SEND_TIMEOUT/Memcached::OPT_POLL_TIMEOUT).
What's a good default for this? 200ms? (WAG)
Comments
Comment #4
BerdirAs far as I see, there is no interest in this.
A timeout could be implement as a setting, doesn't need to be something that is part of the API.