Opened 14 years ago

Closed 14 years ago

Last modified 12 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: 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)

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

Download all attachments as: .zip

Change History (18)

comment:1 by Gary Wilson, 14 years ago

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

comment:2 by Gary Wilson, 14 years ago

(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 by ischenko@…, 14 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 floguy, 14 years ago

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

comment:5 by Martin Paquette, 14 years ago

Cc: Martin Paquette added

comment:6 by Christian Hammond, 14 years ago

Cc: Christian Hammond added

comment:7 by anonymous, 14 years ago

Cc: Oliver Beattie added

comment:8 by Mikkel Høgh, 14 years ago

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

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 by Carl Meyer, 14 years ago

Cc: Carl Meyer added

comment:11 by jeffreymcmanus, 14 years ago

Cc: jeffreymcmanus added

comment:12 by otherjacob, 14 years ago

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

by otherjacob, 14 years ago

Attachment: cmemcache.diff added

Adds PendingDeprecationWarning when using cmemcache

comment:13 by otherjacob, 14 years ago

Has patch: set

comment:14 by Russell Keith-Magee, 14 years ago

milestone: 1.2
Triage Stage: Design decision neededReady for checkin

comment:15 by Russell Keith-Magee, 14 years ago

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 by Russell Keith-Magee, 14 years ago

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

comment:17 by Jacob, 12 years ago

milestone: 1.2

Milestone 1.2 deleted

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