Opened 7 years ago

Closed 7 years ago

Last modified 5 years ago

#12427 closed (fixed)

cmemcache has been retired / add support for cmemcached

Reported by: Ulrich Petri Owned by: otherjacob
Component: Core (Cache system) Version: master
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: UI/UX:

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)

cmemcache.diff (649 bytes) - added by otherjacob 7 years ago.
Adds PendingDeprecationWarning when using cmemcache

Download all attachments as: .zip

Change History (18)

comment:1 Changed 7 years ago by Gary Wilson

(In [11994]) Fixed several broken and redirecting URLs in the documentation (fixes #12219, refs #12427).

comment:2 Changed 7 years ago by Gary Wilson

(In [11995]) [1.1.X] Fixed several broken and redirecting URLs in the documentation (fixes #12219, refs #12427).

Backport of r11994 from trunk.

comment:3 Changed 7 years ago by ischenko@…

Needs documentation: unset
Needs tests: unset
Patch needs improvement: unset

+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 Changed 7 years ago by floguy

It seems pylibmc is an actively maintained, mature wrapper around the libmemcached c library.

comment:5 Changed 7 years ago by Martin Paquette

Cc: Martin Paquette added

comment:6 Changed 7 years ago by Christian Hammond

Cc: Christian Hammond added

comment:7 Changed 7 years ago by anonymous

Cc: Oliver Beattie added

comment:8 Changed 7 years ago by Mikkel Høgh

Cc: Mikkel Høgh added
Triage Stage: UnreviewedDesign decision needed
Version: 1.1SVN

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 Changed 7 years ago by Dan Ros

Cc: Dan Ros 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 Changed 7 years ago by Carl Meyer

Cc: Carl Meyer added

comment:11 Changed 7 years ago by jeffreymcmanus

Cc: jeffreymcmanus added

comment:12 Changed 7 years ago by otherjacob

Owner: changed from nobody to otherjacob
Status: newassigned

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

Changed 7 years ago by otherjacob

Attachment: cmemcache.diff added

Adds PendingDeprecationWarning when using cmemcache

comment:13 Changed 7 years ago by otherjacob

Has patch: set

comment:14 Changed 7 years ago by Russell Keith-Magee

milestone: 1.2
Triage Stage: Design decision neededReady for checkin

comment:15 Changed 7 years ago by Russell Keith-Magee

Resolution: fixed
Status: assignedclosed

(In [12754]) Fixed #12427 -- Started the deprecation path for cmemcache support. Thanks to otherjacob for his work on this issue.

comment:16 Changed 7 years ago by Russell Keith-Magee

#11675 is tracking the addition of new cache backends (pylibmc in particular)

comment:17 Changed 5 years ago by Jacob

milestone: 1.2

Milestone 1.2 deleted

Note: See TracTickets for help on using tickets.
Back to Top