[ZODB-Dev] question about object invalidation after ReadConflictErrors

Shane Hathaway shane at hathawaymix.org
Thu Jan 27 06:06:54 EST 2011


On 01/27/2011 03:59 AM, Jürgen Herrmann wrote:
>
>   hi there!
>
>   i wrongly posted a bug to the zodb bugtracker on tuesday:
>   https://bugs.launchpad.net/zodb/+bug/707332
>
>   as it turns out, that bug report was moot. it didn't fix my
>   problem. out of curiosity, why is the exception raised inside
>   the loop effectifely breaking the loop after the first object
>   invalidated? my debug code showed that sometimes ~20 objects
>   were in _readCurrent. was this a side effect of the relstorage
>   bug involved? or can this happen more frequently? if so, why
>   not invalidate all objects in _readCurrent then before re-
>   raising the ConflictEror?

That one invalidation is probably some kind of optimization.  I don't 
think it's necessary.  The real invalidation happens later, at a 
transaction boundary, when _flush_invalidations() is called.

Shane


More information about the ZODB-Dev mailing list