[Zope] Not Fixed - Re: Versions problem in 2.6.1

Stefan Loidl Stefan.Loidl@lrz-muenchen.de
Mon, 24 Feb 2003 10:58:44 +0100


John Eikenberry wrote:
> Stefan Loidl wrote:
>  
> 
>>I've tried your fix, but unfortunately it didn't fix my problems with
>>versions.  After some time using versions my Data.fs gets corrupt
>>(happens with Zope 2.5.1 and Zope 2.6.1).
> 
> 
> We didn't see the problem with versions until we ran into the problem of
> the versions not being saved in 2.6.1. My "fix" made it so that they do
> get saved, but you're right it doesn't fix the corruption problem you
> note below.
> 
> You don't mention (but you've probably seen it) that after the first
> appearance of this corruption additional version based changes not only
> give this error, but also result in multiple 'bad transaction length'
> errors. Eg.
> 
> __main__.ErrorFound: bad transaction length at 5095413
> 
> 
> Have you experienced any problems with actually using the site after this
> corruption occurs? So far I only see that its happened by running
> fsrecover.py, otherwise the sites work as they should

Yes, two times so far. Each time after I had done quite a lot of changes
in a version (don't know the exact number, but may be more than 30
changes in different Zope objects) over a longer period of time (> 1 month).
One time it was no more possible to access a folder (even in the ZMI) in which
changed objects were. I was only able to repair the problem by using a backup of
Data.fs an exporting/importing the application.

> 
> I'm going to look into it some, as would be quite bad if it interfears with
> content delivery. We don't use versions internally, but use them in our
> custom client content editing code. Its a feature that several of our
> clients use, so we can't just disable it. :P
> 
> Are you still looking into this and/or have you submitted it to the
> bugtracker? 
> 

I'm currently not looking into this, I just don't use versions any more
because we are only two developers, so working versions would be useful
for us but not essential. We have currently restrained to using
production and development instances of zope.

I haven't submitted this to bugtracker yet.

> 
>>So just one question, did you ever try to run
>>lib/python/ZODB/fsrecover.py on your Data.fs (be aware of overwriting
>>your Data.fs if you haven't used fsrecover.py before)? Even if I only do
>>one change to a DTML Document using a version and save the version
>>afterwards, I always get a: ZODB.POSException.VersionLockError:
>>("'\\x00\\x00\\x00\\x00\\x00\\x00\\x00T'", '/Test Version') from
>>fsrecover.py.
>>
>>I only get rid of this kind of error by packing the database in the database
>>control panel or by exporting and importing my application.
> 
> 
> Note that this is only of limited help as it only works when all versions
> have been committed. If you pack with open versions it also currupts the
> database. We've seen this internally, and its been mentioned on zodb-dev:
> 
> http://mail.zope.org/pipermail/zodb-dev/2002-April/002540.html
> 

Thanks for the hint.

Stefan

-- 
Stefan Loidl                    Phone:  +49 89 289 28882
Leibniz Supercomputing Center   Fax:    +49 89 2809460
Barer Str. 21                   mailto:loidl@lrz.de
80333 Munich, Germany           http://www.lrz.de