[ZODB-Dev] CorruptedTransactionError

Dieter Maurer dieter at handshake.de
Sun Oct 26 04:21:54 EST 2003


Jacob Holm wrote at 2003-10-23 15:43 +0200:
 > I have a 1Gb Data.fs file which causes a startup exception in zope.
 > 
 > The exception is:
 > 
 > CorruptedTransactionError: 
 > /home/zopeuser/Zope-2.6.2-linux2-x86/var/Data.fs data record exceeds 
 > transaction record at 301503806
 > 
 > Trying "fsrecover.py -p" i get a large number of errors (2831 lines of 
 > output). The *distinct* error messages were (in order of appearance):
 > 
 > error copying transaction: global name 'file' is not defined

This looks like a bug in the code.

Check where it is, fix the code and try again...

 > error reading txn header: invalid transaction length, 0, at 357705994

Here, your "Data.fs" is corrupted.

 > error copying transaction: [Errno 22] Invalid argument

Maybe, a bug, too...

 > error reading txn header: bad transaction length at 360690823
 > error reading txn header: invalid status, '\x00', at 365004212
 > error reading txn header: invalid status, '\x92', at 479426980

These might be side effects from the earlier corruption but
may be additional corruptions.

 > The Data.fs I get as result is fine, except that it is ~290Mb smaller, 
 > and is missing some important updates. (Running without "-p" is even worse).
 > 
 > Is there anything else I can try to recover more of the original file?

You learn that you want to have regular backups.


Try to fix the code bugs in "fsrecover" and try again.


There are "fsdump", "fstest" in addition to "fsrecover" but
they are more for analysis/checking than for recovery.

-- 
Dieter



More information about the ZODB-Dev mailing list