On Tue, Feb 12, 2008 at 08:32:52PM +0000, Chris Withers wrote: > Okay, so I found a fix for my problem, thought I'd share for others.
I think I also stumbled upon this (or a very close) problem with Zope 2.9.something: 1. import a folder into /temp_folder 2. cut & paste that folder into / 3. come back next day and notice that your Zope is totally broken (POSKeyErrors everywhere pointing into a nonexistent OID from a TemporaryStorage) I didn't do a manual pack, though, but I assume TemporaryStorage does some sort of periodic garbage collection on its own. > ...do a bin/zopectl debug and then do roughly the following: In my case I wasn't able to do bin/zopectl debug. I got the same POSKeyError from zopectl debug and when I finally got the Python shell, it didn't have an open database. I was lucky that there was no content loss: I just created a new empty DB and imported the new version of the site directly into /. > It's a shame ZODB doesn't turn POSKeyErrors into proper Broken objects as > it does when the class can no longer be imported. The problem with > POSKeyErrors is that they prevent you accessing *any object that refers to > the broken object* not just the missing object itself. This means that when > objects *do* go missing, the data loss can be much much worse than it needs > to be. > > What does everyone else think? Data-loss bugs are *bad* and drive users away from Zope. Marius Gedminas -- 2B OR NOT 2B == FF
Description: Digital signature
_______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev