Re: [ZODB-Dev] Re: More exciting ZODB errors ;-)

2006-06-27 Thread Chris Withers

Florent Guillaume wrote:
The AssertionError makes it back to the user, as it's not a 
ConflictError. That's a big problem.


Oh, you've actually had real user complaints :-/

We haven't yet, but I guess we've just been lucky...

If anyone has a means to reproduce these errors, I'd gladly instrument 
the ZODB code to get to the bottom of it and fix it.


Seems like only really high load on the storage server can provoke these...

Maybe time for some stress rig?

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


[ZODB-Dev] Re: More exciting ZODB errors ;-)

2006-06-26 Thread Dieter Maurer
Hallo Florent,

Florent Guillaume wrote at 2006-6-26 00:53 +0200:
>Dieter Maurer wrote:
>> Chris Withers wrote at 2005-12-14 16:23 +:
>>> ...
>>>   File "lib/python/ZODB/Connection.py", line
>>> 788, in _setstate_noncurrent
>>> assert end is not None
>>> AssertionError
>> 
>> This means that the latest modification for this object
>> lies before the respective transaction.
>> 
>> In this case, we should not have an invalidation for the object,
>> such that we would not call "_setstate_current".
>> 
>> I expect a missing "flush_invalidations" during "Connection._setDB".
>> I had to add such a call in our ZODB version:
> ...
>This patch didn't seem to cure our Zope 2.8 afflicted with the "assert 
>end is not None" problem. Could you expand a bit on why you think it 
>would matter? From what I understand of the code, it would only come 
>into play during a refresh() operation.

You are right. My modification only makes refresh safer.

>Could you expand on the "it does 
>more than cache handling"? Invalidations being synchronous,

It also resets "connection._invalidated" and "connection._txn_time".

>BTW do you have other patches in your local patched ZODB? I'm willing to 
>look at all of them and see if they can be integrated.

Lot's of them (but not related to this problem which
I haven't seen so far) -- and not all of them working already.

I could make a tarball from the ZODB parts but I doubt that
you would be very happy with it...



-- 
Dieter
___
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] Re: More exciting ZODB errors ;-)

2006-06-26 Thread Florent Guillaume

On 26 Jun 2006, at 15:12, Chris Withers wrote:

Florent Guillaume wrote:
This patch didn't seem to cure our Zope 2.8 afflicted with the  
"assert end is not None" problem.


Florent,

Have you actually seen any problems from these errors?
I still see them occasionally, but they never seem to have any ill  
effects, other than leaving me feeling uneasy when I get mailed  
these kind of errors my MailingLogger...


The AssertionError makes it back to the user, as it's not a  
ConflictError. That's a big problem.


If anyone has a means to reproduce these errors, I'd gladly  
instrument the ZODB code to get to the bottom of it and fix it.


Florent

--
Florent Guillaume, Nuxeo (Paris, France)   Director of R&D
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]



___
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] Re: More exciting ZODB errors ;-)

2006-06-26 Thread Chris Withers

Florent Guillaume wrote:

This patch didn't seem to cure our Zope 2.8 afflicted with the "assert 
end is not None" problem. 


Florent,

Have you actually seen any problems from these errors?
I still see them occasionally, but they never seem to have any ill 
effects, other than leaving me feeling uneasy when I get mailed these 
kind of errors my MailingLogger...


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


[ZODB-Dev] Re: More exciting ZODB errors ;-)

2006-06-25 Thread Florent Guillaume

[old thread from december]

Dieter Maurer wrote:

Chris Withers wrote at 2005-12-14 16:23 +:

...
  File "lib/python/ZODB/Connection.py", line
788, in _setstate_noncurrent
assert end is not None
AssertionError


This means that the latest modification for this object
lies before the respective transaction.

In this case, we should not have an invalidation for the object,
such that we would not call "_setstate_current".

I expect a missing "flush_invalidations" during "Connection._setDB".
I had to add such a call in our ZODB version:

def _setDB(self, odb, mvcc=None, txn_mgr=DEPRECATED_ARGUMENT,
   transaction_manager=None, synch=None):

self.transaction_manager = transaction_manager or transaction.manager
# DM 2005-08-22: always call '_flush_invalidations' as it does
#  more than cache handling only
self._flush_invalidations()
if self._reset_counter != global_reset_counter:
# New code is in place.  Start a new cache.
self._resetCache()
# DM 2005-08-22: always call '_flush_invalidations'
##else:
##self._flush_invalidations()



Hi Dieter,

This patch didn't seem to cure our Zope 2.8 afflicted with the "assert 
end is not None" problem. Could you expand a bit on why you think it 
would matter? From what I understand of the code, it would only come 
into play during a refresh() operation. Could you expand on the "it does 
more than cache handling"? Invalidations being synchronous,


BTW do you have other patches in your local patched ZODB? I'm willing to 
look at all of them and see if they can be integrated.


Thanks,
Florent

--
Florent Guillaume, Nuxeo (Paris, France)   Director of R&D
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]
___
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