[ZODB-Dev] RE: Corrupt db when trying to pack
Tim Peters
tim at zope.com
Mon Oct 4 17:31:47 EDT 2004
[Gerry Kirk]
> This is getting more bizarre. I recopied Data.fs, ran fstest.py and
> fsrefs.py no problem, started up zope, click on pack, then this time I
> got an error related to global LOG not defined in
>
> Module ZODB.fspack, line 158, in fail
>
> which is a method that reports a CorruptedError.
That the global LOG wasn't found is a bug in ZODB 3.2.1, which was repaired
in ZODB 3.2.2. See the news file I pointed at last time for an account of
other bugs that have been fixed since then.
> I then ran fstest.py on the same file, and this time I got the error
>
> Data.fs data record exceeds transaction record at 684684623: tloc
> 684236170 != tpos 684244362
>
> So, I'm not sure what to think. Seems that there is still an issue here,
> but fstest.py and fsrefs.py don't detect it.
You just set fstest did detect it <wink>. When you're switching among .fs
files, are you also careful to delete the .fs.index file? Strange things
can happen if you leave an .fs.index file sitting around that "belongs" to a
different .fs file.
> You mentioned upgrading to a newer version of ZODB. Is it just a matter
> of updating the python files?
And recompiling the C parts (some of ZODB is implemented in C). Maybe
someone who normally runs on Linux here could give you a better answer; I
*think* it's just a matter of downloading the ZODB tarball, then running
"setup.py install" with some magical argument pointing to the lib/python/
part of your Zope tree. Anyone know exactly what to do?
> No need to do anything to the database itself?
Correct.
More information about the ZODB-Dev
mailing list