[ZODB-Dev] fsrecover.py and fstest.py Tool with Zope 2.6.1 Btrees

Kummer, Ben KUMMER@vdivde-it.de
Mon, 3 Mar 2003 18:06:10 +0100


Hi all,=20
we  use Zope 2.6. binary distribution since a while without problems.
We are checking daily the consistency of our data.fs with the script =
fstest.py from the utilities folder.
After upgrading to zope 2.6.1 and packing the database we got an error:
183349913 object serialno 0x034b042615f93288 does not matchtransaction =
id 0x034b08d9f4e711aa

I tried to recover with utilities/ZODBTools/fsrecover.py and got a lot =
of errors like this:
_main__.ErrorFound: bad transaction length at 268110497
__main__.ErrorFound: invalid status, , at 268110777
__main__.ErrorFound: bad transaction length at 268110957
...
exceptions.TypeError: __init__() takes exactly 10 arguments (8 given)
345837294 bytes removed during recovery

The recovered data.fs got a size of 4 bytes (original length 345837298 =
bytes)

I read in the changelog of Zope 2.6.1:=20
> value-based consistency checker for BTrees was added.  See  the module
>BTrees.check for the checker and other utilities   for working with =
BTrees!

But could not find a tool in the Btree folder to check and recover =
databases.

I also tried fsrecover with a fresh zope 2.6.1 with a newly created =
database with the same result: errors and an empty data.fs

How could i test an recover data.fs now?

Thank you=B4 Ben