[ZODB-Dev] zeo.memcache

Andreas Gabriel gabriel at hrz.uni-marburg.de
Fri Oct 7 03:15:34 UTC 2011


Hi,

Am 07.10.2011 01:57, schrieb Vincent Pelletier:
> Le jeudi 06 octobre 2011 21:18:39, Andreas Gabriel a écrit :
> I couldn't resist writing my own version inspired from your code:
>   https://github.com/vpelletier/python-memcachelock

That's no problem :)

> It lacks any integration with ZODB.
> It drops support for non-"cas" memcached. I understand your code relies on 
> ZODB conflicts as last resort, but I wanted to scratch an itch :) .
> It drops support for timeout (not sure why they are used for, so it's actually 
> more a "left asides" than a drop).

This feature supports the fallback from pessimistic locking to the standard optimistic locking
of ZODB (if all locks are lost because of a restart of memcachd etc.)
 -> details: http://pypi.python.org/pypi/unimr.memcachedlock

> I admit this is my first real attempt at using "cas", and the documentation 
> mentions gets must be called before calling cas for it to succeed. I don't see 
> gets calls in your code, so I wonder if there wouldn't be a bug... Or maybe 
> it's just my misunderstanding.

self._update() in the while loop is called (calls indirectly the memcache "query"
method, a synonym for "get") before the "cas" method is called.

> As the README states: it's not well tested. I only did stupid sanity checks (2 
> instances in a single python interactive interpreter, one guy on the keyboard 
> - and a slow one, because it's late) and a pylint run.

Please continue your developement because this will be important feature/enhancement
for big zope sites with many zeo-clients under heavy load.

kind regards
Andreas

-- 
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------


More information about the ZODB-Dev mailing list