[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