[ZODB-Dev] ConflictError: database conflict error

Bob Horvath zodb at horvath.com
Wed Jan 12 00:28:20 EST 2005


Tim Peters wrote:

>[Bob Horvath]
>  
>
>>Yea, I saw your email suggesting newer tools might work better and was in
>>the process of rerunning and debugging using them and literally fell
>>asleep at the keyboard and never finished it last night.
>>    
>>
>
>That's no excuse <wink>.
>
>I can tell from the output that you're still not using the current (3.2.4)
>ZODB, so you're not using the best version of fsrefs.py.  Or maybe you're
>using a current fsrefs.py script, but didn't grab the rest of ZODB 3.2.4?
>
>...
>  
>

Hmm, I thought I had replied to this, but don't see it.  Apologies if I 
am sending twice.

I am trying to use the 3.2.4 ZODB tools. I have a PYTHONPATH including 
the ZODB directory and the python libs from a 2.7.0 version of Zope.

>  
>
>>I'll fix up those files later tonight.  An interesting thing is running
>>the newer tools doesn't yield any "failed to loads", but rather a lot of
>>"referes to invalid objects".
>>
>>
>>http://files.horvath.com/fsrefs.out  (newer fsrefs)
>>http://files.horvath.com/fsrefs.old  (older fsrefs)
>>
>>If you look at the older one, there are two POSKeyErrors in there that
>>are not in the newer one.
>>    
>>
>
>Yes, it's complaining about an object whose creation has been undone --
>there is no current revision of the object.  Newer versions of fsrefs.py
>handle that more gracefully.  Note that the two oids in the POSKeyErrors are
>precisely the same oids as in the two "failed to load" messages.  The newer
>fsrefs don't complain about those, simply because there's nothing wrong
>about undoing the creation of an object; it was a bug that fsrefs.py used to
>complain about those.
>  
>

OK, so running the new tools yields a lot (57 objects) of "refers to 
invalid objects" (279 objects).   What options are there to fix it?

- edit or fix objects from the /manage interface
- edit, fix, or deleted from the python command line
- getting out a hex editor and hacking the file to bits

I've tried the second option but have not been successful at figuring 
out how to make the calls to delete an object.






More information about the ZODB-Dev mailing list