Django

Code

Ticket #12427 (closed: fixed)

Opened 7 months ago

Last modified 5 months ago

cmemcache has been retired / add support for cmemcached

Reported by: UloPe Assigned to: otherjacob
Milestone: 1.2 Component: Cache system
Version: SVN Keywords:
Cc: mikl, martinpaquette, chipx86, obeattie, danros, carljm, jeffreymcmanus Triage Stage: Ready for checkin
Has patch: 1 Needs documentation: 0
Needs tests: 0 Patch needs improvement: 0

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

cmemcache.diff (0.6 kB) - added by otherjacob on 03/10/10 01:46:33.
Adds PendingDeprecationWarning? when using cmemcache

Change History

12/26/09 00:37:26 changed by gwilson

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

12/26/09 00:44:03 changed by gwilson

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

Backport of r11994 from trunk.

12/29/09 12:29:40 changed by ischenko@gmail.com

  • needs_better_patch changed.
  • needs_tests changed.
  • needs_docs changed.

+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.

12/29/09 14:08:25 changed by floguy

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

12/29/09 14:30:43 changed by martinpaquette

  • cc set to martinpaquette.

01/05/10 05:54:48 changed by chipx86

  • cc changed from martinpaquette to martinpaquette, chipx86.

01/07/10 02:28:00 changed by anonymous

  • cc changed from martinpaquette, chipx86 to martinpaquette, chipx86, obeattie.

01/11/10 15:58:40 changed by mikl

  • cc changed from martinpaquette, chipx86, obeattie to mikl, martinpaquette, chipx86, obeattie.
  • version changed from 1.1 to SVN.
  • stage changed from Unreviewed to Design decision needed.

Switching 1.1 over to a new library might be considered a regression, but I think it should definitely be done for 1.2 :)

01/15/10 09:19:44 changed by danros

  • cc changed from mikl, martinpaquette, chipx86, obeattie to mikl, martinpaquette, chipx86, obeattie, danros.

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.

01/18/10 11:19:02 changed by carljm

  • cc changed from mikl, martinpaquette, chipx86, obeattie, danros to mikl, martinpaquette, chipx86, obeattie, danros, carljm.

02/06/10 22:17:38 changed by jeffreymcmanus

  • cc changed from mikl, martinpaquette, chipx86, obeattie, danros, carljm to mikl, martinpaquette, chipx86, obeattie, danros, carljm, jeffreymcmanus.

03/06/10 21:36:33 changed by otherjacob

  • owner changed from nobody to otherjacob.
  • status changed from new to 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

03/10/10 01:46:33 changed by otherjacob

  • attachment cmemcache.diff added.

Adds PendingDeprecationWarning? when using cmemcache

03/10/10 01:48:22 changed by otherjacob

  • has_patch set to 1.

03/10/10 07:59:05 changed by russellm

  • stage changed from Design decision needed to Ready for checkin.
  • milestone set to 1.2.

03/10/10 08:03:00 changed by russellm

  • status changed from assigned to closed.
  • resolution set to fixed.

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

03/10/10 08:04:15 changed by russellm

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


Add/Change #12427 (cmemcache has been retired / add support for cmemcached)




Change Properties
Action