[ZODB-Dev] ZODB Problem

Alexey V Paramonov lx at gnext.ru
Wed Jan 26 01:22:33 EST 2005


I have already solved the problem: I have several backups of Data.fs,
one of them (very old) was "alive". So, I starget to cut pieces from
the end of Data.fs and tried to load it, so after a few hours I knew
which trasaction was malfromed.

|------------|
|            |
|   Good     |
|            |
|            |
--------------   transaction 00032
| Corrupted  |
|     data   |
|            |
|            |
|            |
|            |
--------------   transaction 00033
|            |
|            |
|   Good     |
|            |
|            |
|            |
--------------

I decided to cut this transaction from the good database and insert it
to the existing broken one. The main probem was that theese to pieces
had different sizes (32 transaction is about 150 MB %| ), so I spent one
nigth + day figuring out how ZODB
stores it's structure and simply set "correct" sizes on transactions and
data structures. I just filled mising pieces with zeros, ran fstest.py
on my merged Data.fs, cleaned up everything and now Zope eats this
file finely. I will not use this file, of course, but at least I could
export all needed data just pressing buttons in Zope :)

I had several more ideas how to get my precious data using fsdump or
smth. like that.
-- 
Best regards,
 Alexey                          mailto:lx at gnext.ru



More information about the ZODB-Dev mailing list