Hi, Using Zope Debug Console, I used a part of the code fsrefs.py to find the oid's of POSKeyError: fs = FileStorage(path, read_only=1) undone = {} noload = {} for oid in fs._index.keys(): try: data, serial = fs.load(oid, "") except (KeyboardInterrupt, SystemExit): raise except POSKeyError: undone[oid] = 1 except: if VERBOSE: traceback.print_exc() noload[oid] = 1 This gave me one oid.Then I tried something like below : obj = app._p_jar[oid] But this gave me another POSKeyError instead :( Why does this happen? How can I delete this object. Thanks, Roopesh
The object is already gone. It's odd that it is in the index. You can try deleting the object from the index and then saving the index. You might need to use ZODB 3.9 to do that, as I think __del__ was only recently added to file-storage indexes. Jim On Thu, Jul 23, 2009 at 6:57 AM, Rupesh P Raj<roopesh.praj@gmail.com> wrote:
Hi,
Using Zope Debug Console, I used a part of the code fsrefs.py to find the oid's of POSKeyError:
fs = FileStorage(path, read_only=1) undone = {}
noload = {}
for oid in fs._index.keys(): try: data, serial = fs.load(oid, "") except (KeyboardInterrupt, SystemExit): raise except POSKeyError: undone[oid] = 1 except: if VERBOSE: traceback.print_exc() noload[oid] = 1
This gave me one oid.Then I tried something like below :
obj = app._p_jar[oid]
But this gave me another POSKeyError instead :(
Why does this happen? How can I delete this object.
Thanks, Roopesh _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
-- Jim Fulton
Hi Jim, But I am using ZODB 3.4.4 :( Are there any other options? How can I find where this invalid object is being referenced? Will something like packing resolve this? Thanks, Roopesh On Thu, Jul 23, 2009 at 4:45 PM, Jim Fulton <jim@zope.com> wrote:
The object is already gone. It's odd that it is in the index. You can try deleting the object from the index and then saving the index. You might need to use ZODB 3.9 to do that, as I think __del__ was only recently added to file-storage indexes.
Jim
On Thu, Jul 23, 2009 at 6:57 AM, Rupesh P Raj<roopesh.praj@gmail.com> wrote:
Hi,
Using Zope Debug Console, I used a part of the code fsrefs.py to find the oid's of POSKeyError:
fs = FileStorage(path, read_only=1) undone = {}
noload = {}
for oid in fs._index.keys(): try: data, serial = fs.load(oid, "") except (KeyboardInterrupt, SystemExit): raise except POSKeyError: undone[oid] = 1 except: if VERBOSE: traceback.print_exc() noload[oid] = 1
This gave me one oid.Then I tried something like below :
obj = app._p_jar[oid]
But this gave me another POSKeyError instead :(
Why does this happen? How can I delete this object.
Thanks, Roopesh _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
-- Jim Fulton
http://spamsch.blogspot.com/2009/04/how-to-repair-broken-zodb-poskeyerror.ht... -aj On 23.07.09 12:57, Rupesh P Raj wrote:
Hi,
Using Zope Debug Console, I used a part of the code fsrefs.py to find the oid's of POSKeyError:
fs = FileStorage(path, read_only=1) undone = {}
noload = {}
for oid in fs._index.keys(): try: data, serial = fs.load(oid, "") except (KeyboardInterrupt, SystemExit): raise except POSKeyError: undone[oid] = 1 except: if VERBOSE: traceback.print_exc() noload[oid] = 1
This gave me one oid.Then I tried something like below :
obj = app._p_jar[oid]
But this gave me another POSKeyError instead :(
Why does this happen? How can I delete this object.
Thanks, Roopesh ------------------------------------------------------------------------
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
-- ZOPYX Ltd. & Co KG \ ZOPYX & Friends Charlottenstr. 37/1 \ The experts for your Python, Zope and D-72070 Tübingen \ Plone projects www.zopyx.com, info@zopyx.com \ www.zopyx.de/friends, friends@zopyx.de ------------------------------------------------------------------------ E-Publishing, Python, Zope & Plone development, Consulting
participants (3)
-
Andreas Jung -
Jim Fulton -
Rupesh P Raj