[ZODB-Dev] zeo.memcache

Vincent Pelletier plr.vincent at gmail.com
Thu Oct 6 12:59:17 UTC 2011


Le mercredi 05 octobre 2011 19:45:38, Jim Fulton a écrit :
> Interesting.  I'll review it.

I gave it a look.

From what I see, I don't think this can be used by more than a single zope at 
a time. My bigest hint toward this is that there is a lock on class instance 
which is not visible in memcache (ie, nothing is modified in memcache when 
taking/releasing that lock). So accesses from different processes (or even 
different instances of the cache connector) will modify it without 
synchronisation. Supporting such setup requires using the test-and-set 
memcached operation, plus some sugar. I just don't think this was intended to 
be supported in the original code.

I'm afraid of the keyify function: if an oid happend to contain a 0x20 byte, 
and another object exists with the same oid minus 0x20 bytes, they will 
collide in that cache. That's easy to fix.

Jim: Beware, it's GPL'ed ;) .
/ducks

Regards,
-- 
Vincent Pelletier


More information about the ZODB-Dev mailing list