[ZODB-Dev] Re: [Zope] HELP - POSKeyError 000000000001efcd - Data.fs corruption

BZ bz@bwanazulia.com
Thu, 20 Mar 2003 07:38:45 -0600 (CST)

[I posted to zodb-dev as I was told they were the GURUs and could help
since this is in the ZODB).

What I have tried:
1) Using fsrecover.py (with and without -p and before and after packing)

This has removed data but along with it a lot of data that I need. If you
don't use the -p it removes nothing and I am stuck with the POSKeyError

2) Exporting the folder I think is corrupt (/Members/) and importing it
into a new CMF.

It imports, but the POSKeyError comes with (in a new location)

3) Deleting things out of the folder that could be causing the problem

Gives me lots of errors about not being able to "unindex" the items
followed by a POSKeyError

in debug mode: "ERROR(200) PathIndex Attempt to unindex document with id
xxxxxxxxx failed"

Any new direction would be appreciated. The problem with hosing the darn
/Members/ folder is that it has Members stuff in it.


> [Do we want this crossposted to zope@ and zodb-dev@ ?]
> On Thursday 20 March 2003 12:21 pm, BZ wrote:
>> Hey Chris,
>> Thanks for helping me on on this one.
>> I looked all over and I know how to reindex a catalog, but how do you
>> reindex an entire site or zope installation?
> I think chris is guessing that your zodb corruption is limited to a
> dangling
> reference inside the zcatalog btree, so that reindexing the *catalog*
> followed by a pack will purge all traces of the corruption. Chris, can you
> share how you reached this?
> He might be correct. good luck. ;-)
> You also reported:
>>> 119583146L object serialno 0x034aab9e4b7e624c does not matchtransaction
>>> id 0x034ac5e367948900
> That sounds like more than a single dangling reference :-(
> It raises one question for me - did this data start out in this
> FileStorage?
> Or, has it been passed through a copyTransactionsFrom function, or
> something
> else that call the restore() storage method?
> Tracking down corruption in FileStorage is hard - both tracking down the
> type
> of corruption so you can repair it, and tracking down the bug that caused
> it
> initially. Doing anything more scientific than following Chris' guess will
> require you to go through a debugging process.
> --
> Toby Dickenson
> http://www.geminidataloggers.com/people/tdickenson
> _______________________________________________
> 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