[Zope] POSKeyError II: Dead By Dawn
Paul Winkler
pw_lists@slinkp.com
Tue, 21 Jan 2003 11:37:54 -0800
On Tue, Jan 21, 2003 at 12:06:50PM +0000, Toby Dickenson wrote:
> On Tuesday 21 January 2003 7:58 am, Paul Winkler wrote:
>
> > The really fun thing about POSKeyErrors in particular is that
> > I know of no way to find out what zope id the broken oid once
> > belonged to. Is there any way?
>
> It shouldnt be hard to change fsrefs to dump the oid reference chain that
> leads to the dangling reference. DirectoryStorage 1.0 will do that if it
> finds a dangling reference during packing - for 1.1 I plan to move that
> feature into checkds where it belongs.
Yes, I am hoping to move to DirectoryStorage "as soon as I have time".
For FileStorage, I guess I'm hosed.
> However an oid reference chain wont tell you the application-level id of the
> object, but you can deduce that by looking at pickles.
better than nothing I guess...
> > I tried mounting a copy of the backup with another Zope instance,
> > exporting the recent stuff, and importing it into the
> > zope running the "repaired" Data.fs, but every time I tried
> > to do that I got POSKeyErrors. (!)
>
> Yes. The export procedure silently ignores any POSKeyErrors. Importing that
> export will create a nice clean dangling reference. Thats a feature, not a
> bug.
Ah, OK, thanks for the explanation.
Guess I have to hit the zodb-dev archives and see what I can
learn about OIDs and dangling references etc...
--
Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's MOLE RAT SEMI- FEDORA!
(courtesy of isometric.spaceninja.com)