[ZODB-Dev] Re: [Zope-Checkins] CVS: ZODB3/ZODB - Connection.py:1.88 DB.py:1.48 cPickleCache.c:1.81

Toby Dickenson tdickenson@geminidataloggers.com
Wed, 9 Apr 2003 16:07:20 +0100


On Wednesday 09 April 2003 3:54 pm, Jeremy Hylton wrote:
> On Wed, 2003-04-09 at 03:16, Toby Dickenson wrote:
> > On Tuesday 08 April 2003 4:56 pm, Jeremy Hylton wrote:
> > > +        # XXX It sucks that we have to hold the lock to read
> > > +        # _invalidated.  Normally, _invalidated is written by call
> > > +        # dict.update, which will execute atomically by virtue of the
> > > +        # GIL.  But some storage might generate oids where hash or
> > > +        # compare invokes Python code.  In that case, the GIL can't
> > > +        # save us.
> >
> > Other parts of ZODB already assume that oids are plain strings. I think
> > we discussed this for AdaptableStorage. Does that simplify things?
>
> It does simplify things.  Are we sure that we believe that?  I remember
> fixing some code that assumed oids were 8-byte strings.  I can't recall
> anything in the connection-cache layer that expects them to be strings
> specifically.

I remember some code that assumed it could oids to a file. The ZEO cache, or 
something like that.

-- 
Toby Dickenson
http://www.geminidataloggers.com/people/tdickenson