[Zope-dev] Re: [ZODB-Dev] Re: BTrees strangeness (was Zope 2.X BIG
Session
problems - blocker - our site dies - need help of experience Zope developer,
please)
Tres Seaver
tseaver at zope.com
Wed May 19 11:32:13 EDT 2004
Michael Dunstan wrote:
>
> On 18/05/2004, at 10:03 PM, Andrea Patuzzo wrote:
>
>> Hi, dear developers:
>>
>> We are now randomly getting this kind of error:
>>
>> [...]
>> File
>> "/usr/local/Zope270CVS/lib/python/Products/Transience/Transience.py",
>> line 341, in __setitem__
>> current_bucket = self._data[current_ts]
>> KeyError: 1084872640
>> ====
>>
>> This one was with the latest publish.py / startup.py patch and the new
>> Transience.py implementation, on a yesterday's Zope-2_7-branch checkout.
>> New Zope instance with FileStorage does not solve the problem.
>> Same happens with the patches applied to the official Zope-2.7.0 release.
>>
>> Note: once the error happens, zope has to be restarted to function again.
>> Before applying patches we were getting "get" errors (instead of
>> "__setitem__") and we just had to close browser to get back to work.
>> Here we have to restart Zope (with TemporaryStorage) or delete
>> Sessions.fs
>> and restart (with FileStorage).
>
>
> My guess at the moment is that somewhere a ConflictError is being
> swallowed. There are a few things that can be responsible for this:
>
> - Use of hasattr on Persistent objects.
>
> - try/except blocks that don't raise ConflictErrors.
>
> From your trace that looks like a Plone site. A very quick glance
> through Plone and its friends indicates that there may be some chance of
> either of the above causing some problems. Although Plone 2.0.1 includes
> the following fix:
>
> - Fixed bare 'except:' statements in Plone so we don't swallow
> ZODB ConflictErrors. Mostly by adding 'except ConflictError: raise'.
> [stefan]
>
> Someone please shoot me down and claim that Plone and friends all do the
> right thing. ;-)
We should have a 'hasattr-geddon' and remove every trace of that
monstrosity from Zope and the CMF; likewise a 'bareexcept-geddon'
(there might be a few places which are smart enough to do 'except:', but
I doubt it).
Tres.
--
===============================================================
Tres Seaver tseaver at zope.com
Zope Corporation "Zope Dealers" http://www.zope.com
More information about the Zope-Dev
mailing list