#12427 closed (fixed)
cmemcache has been retired / add support for cmemcached
| Reported by: | Ulrich Petri | Owned by: | otherjacob |
|---|---|---|---|
| Component: | Core (Cache system) | Version: | dev |
| Severity: | Keywords: | ||
| Cc: | Mikkel Høgh, Martin Paquette, Christian Hammond, Oliver Beattie, Dan Ros, Carl Meyer, jeffreymcmanus | Triage Stage: | Ready for checkin |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
The cmemcache [1] interface has been "retired".
The memcache page [2] even states: "Note: this library is deprecated, old, buggy, you should not use it".
The recommended alternative seems to be python-libmemcached [3].
Unfortunately python-libmemcached installs as "cmemcached" (note the d) - so it doesn't get imported by django.
A feature request to include support for cmemcached was already posted in #10430. That ticket was closed wontfix at the time but I think in light of cmemcache being deprecated this decision should be revisited.
[1] http://gijsbert.org/cmemcache/
[2] http://code.google.com/p/memcached/wiki/Clients#Python
[3] http://code.google.com/p/python-libmemcached/
Attachments (1)
Change History (18)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
comment:3 by , 16 years ago
+1 for removing cmemcache support. It can crash the Python interpreter. A safer choice may be to use python-memcache if it's available and allow developer to enable cmemcache bindings. I can submit a patch.
comment:4 by , 16 years ago
It seems pylibmc is an actively maintained, mature wrapper around the libmemcached c library.
comment:5 by , 16 years ago
| Cc: | added |
|---|
comment:6 by , 16 years ago
| Cc: | added |
|---|
comment:7 by , 16 years ago
| Cc: | added |
|---|
comment:8 by , 16 years ago
| Cc: | added |
|---|---|
| Triage Stage: | Unreviewed → Design decision needed |
| Version: | 1.1 → SVN |
Switching 1.1 over to a new library might be considered a regression, but I think it should definitely be done for 1.2 :)
comment:9 by , 16 years ago
| Cc: | added |
|---|
In my installation, the old cmemcache lib has caused at least one hard site lockup (until apache is restarted), and this happened within hours of starting to use this lib.
So this is definitely not something which should be recommended in the docs. Even before support for another lib is in place, the advice should probably be that python-memcached is the only recommended/suppored lib. A few milliseconds slower is better than no response at all when crashed.
comment:10 by , 16 years ago
| Cc: | added |
|---|
comment:11 by , 16 years ago
| Cc: | added |
|---|
comment:12 by , 16 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
Per the discussion on the mailing list, I'll be adding a PendingDeprecationWarning for 1.2, then working on a more involved solution + DeprecationWarning in 1.3, then removing it entirely (with pylibmc added on) for 1.4
by , 16 years ago
| Attachment: | cmemcache.diff added |
|---|
Adds PendingDeprecationWarning when using cmemcache
comment:13 by , 16 years ago
| Has patch: | set |
|---|
comment:14 by , 16 years ago
| milestone: | → 1.2 |
|---|---|
| Triage Stage: | Design decision needed → Ready for checkin |
comment:15 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
comment:16 by , 16 years ago
#11675 is tracking the addition of new cache backends (pylibmc in particular)
(In [11994]) Fixed several broken and redirecting URLs in the documentation (fixes #12219, refs #12427).