Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 39361 - Packing of the zope database can lead (under specific circumstances) to corruption of the database
Summary: Packing of the zope database can lead (under specific circumstances) to corru...
Status: RESOLVED LATER
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: x86 All
: High critical (vote)
Assignee: net-zope (OBSOLETE)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-25 09:09 UTC by schaedpq
Modified: 2004-01-26 13:09 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description schaedpq 2004-01-25 09:09:49 UTC
If pack is called on the storage and passed a time earlier than a previous pack time, data could be lost. In other words, if there are any two pack calls, where the time argument passed to the second call was earlier than the first call, data loss could occur.

Reproducible: Didn't try
Steps to Reproduce:
1.pack database(days=0)
2.pack database(days=1) => data.fs is truncated!


Actual Results:  
Data.fs is truncated, but (in my experience) Zope continues to run and the data
loss is not noticeable until the next Zope restart. IMHO could this lead to
invalidation of a large number of transactions which occurred between the
packing and restart.

Expected Results:  
Step 2 (second start of packing) should lead to an error or nothing at all.

See additional information at http://zope.org/Collectors/Zope/1117

This bug is fixed in Zope-2.6.4rc1, excerpt of the Changelog
(http://zope.org/Products/Zope/2.6.4rc1/CHANGES.txt):
"Fixed a serious bug in the new FileStorage pack implementation. If pack was
called on the storage and passed a time earlier than a previous pack time, data
could be lost. In other words, if there are any two pack calls, where the time
argument passed to the second call was earlier than the first call, data loss
could occur. The bug was fixed by causing the second call to raise a
StorageError before performing any work."

I suggest to mark zope-2.6.4rc1 stable ASAP (and/or to mask zope-2.6.3?).
Comment 1 Heinrich Wendel (RETIRED) gentoo-dev 2004-01-26 02:55:38 UTC
we will mark 2.6.4 stable very soon after it is released, but not the rc
Comment 2 schaedpq 2004-01-26 04:05:33 UTC
OK, you are right, marking an rc as stable is probably a bad idea.
But this bug is really nasty, because the effect of the corruption shows up not until zope is restarted, which can be days or weeks later. :-( Due to this I lost the data of 7 days, because the backups in that period also contain the damaged database...
zope-2.6.3 is not stable/reliable and should not be used unless people know exactly what they are doing. If zope-2.6.4 is not ready/stable then one should go back to zope-2.6.2... Is there no way to do this? Just to save some people from a potential severe data loss.
Comment 3 Heinrich Wendel (RETIRED) gentoo-dev 2004-01-26 06:33:53 UTC
I'm very sorry about this data lose, I marked 2.6.3 stable because of the security fixes in it. I think 2.6.4 will be out very soon, meanwhile people can install the rc if they experience the problem
Comment 4 schaedpq 2004-01-26 13:09:59 UTC
Oops, I forgot about this security fix. :-( You are right, also 2.6.2 is no option. :-( Shit.
Don't mind about my data loss, as you are not responsible for it. ;-)
But I filed that bug and thought about something to help other people. I think there are many, who don't know about this damn bug. :-( Of course they can install zope-2.6.4rc1 but if they don't know about the problem with 2.6.3... Hope you got my intention.
OK, it is still on my mind, but it seems, that nothing can be done at the moment. :-( Let`s hope, the zope people get 2.6.4 out really soon now... *sigh*