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.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to