Code

Opened 5 years ago

Closed 4 years ago

Last modified 3 years ago

#12427 closed (fixed)

cmemcache has been retired / add support for cmemcached

Reported by: UloPe Owned by: otherjacob
Component: Core (Cache system) Version: master
Severity: Keywords:
Cc: mikl, martinpaquette, chipx86, obeattie, danros, carljm, 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 4 years ago.
Adds PendingDeprecationWarning when using cmemcache

Download all attachments as: .zip

Change History (18)

comment:1 Changed 5 years ago by gwilson

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

comment:2 Changed 5 years ago 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.

comment:3 Changed 5 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 5 years ago by floguy

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

comment:5 Changed 5 years ago by martinpaquette

  • Cc martinpaquette added

comment:6 Changed 5 years ago by chipx86

  • Cc chipx86 added

comment:7 Changed 5 years ago by anonymous

  • Cc obeattie added

comment:8 Changed 4 years ago by mikl

  • Cc mikl added
  • Triage Stage changed from Unreviewed to Design decision needed
  • Version changed from 1.1 to 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 Changed 4 years ago by danros

  • Cc danros 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 4 years ago by carljm

  • Cc carljm added

comment:11 Changed 4 years ago by jeffreymcmanus

  • Cc jeffreymcmanus added

comment:12 Changed 4 years ago 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

Changed 4 years ago by otherjacob

Adds PendingDeprecationWarning when using cmemcache

comment:13 Changed 4 years ago by otherjacob

  • Has patch set

comment:14 Changed 4 years ago by russellm

  • milestone set to 1.2
  • Triage Stage changed from Design decision needed to Ready for checkin

comment:15 Changed 4 years ago by russellm

  • Resolution set to fixed
  • Status changed from assigned to closed

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

comment:16 Changed 4 years ago by russellm

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

comment:17 Changed 3 years ago by jacob

  • milestone 1.2 deleted

Milestone 1.2 deleted

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.