[ZODB-Dev] OOBucket ReadConflictErrors

Christian Robottom Reis kiko at async.com.br
Thu Apr 8 23:35:25 EDT 2004


On Thu, Apr 08, 2004 at 10:09:29PM -0300, Christian Robottom Reis wrote:
> which certainly does suggest that if the object is in cache it won't
> ReadConflict. I assume this code is in ClientStorage, which is where I'm
> going to try and look -- hints appreciated.

Doh. I meant Connection.

What *seems* to be happening is that Connection.setstate() is being
called when I try to read/modify the OOBucket (for reasons I can't quite
grasp -- perhaps Persistent.unghostify() is being called when it
shouldn't be?). Now, the odd part is that setstate() doesn't check if
whatever's being set is in the cache -- it just proceeds calling load()
on the Storage and checking if that object is invalidated.

This seems to suggest to me that Connection.setstate() is only called
when we're sure we need to grab the object's state from the storage --
since otherwise, we should check our cache and avoid it, right?

Bewitched by Connection.py,
--
Christian Robottom Reis | http://async.com.br/~kiko/ | [+55 16] 261 2331



More information about the ZODB-Dev mailing list