memcached cache backend creating new connection for every action
|Reported by:||J. David Lowe||Owned by:||nobody|
|Component:||Core (Cache system)||Version:||1.3-beta|
|Cc:||Triage Stage:||Ready for checkin|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
r15005 introduced a problem for MemcachedCache caches: every call to any cache method which accesses the cache (add, get, set, delete, get_many, incr, decr, set_many, delete_many, clear and even close!) opens a brand-new connection to memcached via the
self._lib.Client(...) call now hidden in
self._cache. I think this is a major problem for busy sites who are aggressively caching: our site was brought down when we upgraded to 1.3_beta_1, as it very quickly exceeded the memcached concurrency limit.
I've attached a patch including a minimal test case.
I ran the tests against django trunk r15560, with python_memcached-1.44-py2.6.egg and python 2.6.5.
Change History (5)
comment:1 Changed 6 years ago by
|Keywords:||blocker regression added|
|Patch needs improvement:||unset|
|Triage Stage:||Unreviewed → Ready for checkin|