[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