Re: [ZODB-Dev] mvcc related error?

2007-03-20 Thread Chris Withers

Dieter Maurer wrote:

Chris Withers wrote at 2007-3-16 08:45 +:

...
Is there any way an object could be invalidated without there being a 
non-current revision to read?


Sure (through a call to ZODB.DB.DB.invalidate), although usually
it is done only after the object changed.


OK. I'm still not clear on whether what you describe is a bug or simply 
what might happen now?



We are using it to cause objects to be flushed from all
ZODB connection caches (because we know that their _v_ might
contain an inconsistent state).
Fortunately, we did not yet met the loadBefore problem you have hit.


Oh, so it's just me who's lucky? ;-)


What are the possible causes of invalidation?


A change of the object or some explicit call for invalidation.


I don't think any explicit calls are involved here...

cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] mvcc related error?

2007-03-20 Thread Jeremy Hylton

On 3/20/07, Chris Withers [EMAIL PROTECTED] wrote:

Dieter Maurer wrote:
 Chris Withers wrote at 2007-3-16 08:45 +:
 ...
 Is there any way an object could be invalidated without there being a
 non-current revision to read?

 Sure (through a call to ZODB.DB.DB.invalidate), although usually
 it is done only after the object changed.

OK. I'm still not clear on whether what you describe is a bug or simply
what might happen now?


The MVCC implementation might not be prepared to cope with an explicit
call to invalidate.  Yould also achieve this by calling some method on
the object, right? _p_invalidate()?  I don't remember the details.

In either case, I suspect that is a bug in the implementation, but
it's not clear if it explains your problem.

Jeremy



 We are using it to cause objects to be flushed from all
 ZODB connection caches (because we know that their _v_ might
 contain an inconsistent state).
 Fortunately, we did not yet met the loadBefore problem you have hit.

Oh, so it's just me who's lucky? ;-)

 What are the possible causes of invalidation?

 A change of the object or some explicit call for invalidation.

I don't think any explicit calls are involved here...

cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
- http://www.simplistix.co.uk



___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev