[Zope] data record exceeds transaction record

Jim Fulton jim@digicool.com
Tue, 11 Jul 2000 09:22:07 -0400


Jonathan Desp wrote:
> 
> 
> Hi, here is the information of my problem:
> 
>   File "C:\Program Files\WebSite\lib\python\ZODB\FileStorage.py", line 218, in p
> anic
>     raise CorruptedTransactionError, message
> ZODB.FileStorage.CorruptedTransactionError: C:\Program Files\WebSite/var/Data.fs
>  data record exceeds transaction record at 20663057
> 
> 
> 
> that's special, see, if you analyse the sentence:
> 
> data record exceeds transaction record
> 
> it's like saying:
> 
> you transfered more data than the quantity(of data) you have presently.
> 
> " I will transfer 5 apples, but I have only 4 apples."
> 
> hmm

Hmm. The sentence describes a situation that shouldn't be possible
right? That's why the file must be corrupted. The error message is
telling you why the system determined that something is wrong.

I'd be interested in looking at the database to try to figure out how this
happened. If you are willing to pursue this, write me back in a private 
email.

> interesting problem to fix.
> 
> some ways I got from you:
> 
> the "recover" program with Zope 2.2, but I didnot find out why it should be useful for me. When I read the "readme file".

The recover program in 2.2 will remove damaged transactions from a database
file. While this may cause data loss, you can at least get your database up and
running again.  This seems pretty useful to me. This program isn't
mentioned in the README.txt.

See the script in lib/python/ZODB/fsrecover.py.  You run this script with the
name of the file to repair. Note that the repair is made in-place, so you will
need to work on a copy or shut your site down.
 
> In my netscape browser, I can read: "exceptions.ImportError" then I read all the message related to this problem, in every mailing list, but there is no solution to it, or related to it on those messages.

I can't tell from the information you've provided why you would get an error in
your browser.

> Is it a new bug or ?

Your database got corrupted. I don't know why. It's possible that it's due 
to a bug. It's also possible that it's due to a system failure. I don't
have enough information to tell right now.

> Because my website is very big. I don't think it's very important because there is some other data.fs more bigger than 31 381 Ko.

As long as your database is under 2GB, size should not be a problem.
Zope.org has been close to 2GB on a number of occasions without problem.
 
> It's not a server or a hardware problem because I tested my data.fs on another hardware,machine. As well as it's not a another file in zope, because I tested that data.fs on zope linux, and zope windows. So it's really inside data.fs

The data file is definiately corrupted. That's what the error tracsbeack says.
It's a "FileStorage.CorruptedTransactionError".  The question is how the file
got that way.
 
Jim

--
Jim Fulton           mailto:jim@digicool.com   Python Powered!        
Technical Director   (888) 344-4332            http://www.python.org  
Digital Creations    http://www.digicool.com   http://www.zope.org    

Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email
address may not be added to any commercial mail list with out my
permission.  Violation of my privacy with advertising or SPAM will
result in a suit for a MINIMUM of $500 damages/incident, $1500 for
repeats.