[Zope] The immortal POSKeyError

Roché Compaan roche at upfrontsystems.co.za
Sat Jul 17 03:43:28 EDT 2004


* george donnelly <list at zettai.net> [2004-07-17 02:38]:
> >>> from Zope import app
> >>> from ZODB import POSException
> >>> from OFS import DTMLMethod
> >>> from OFS import Folder
> >>> from AccessControl import User
> >>> root= app()
> >>> obj= root.unrestrictedTraverse('/BTreeFolder/BadFolder')
> >>> obj.manage_delObjects('SoleObjectOfBadFolder')
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
>   File "/home/bradc/zope/270/lib/python/ZODB/Connection.py", line 561,
> in setstate
>     p, serial = self._storage.load(oid, self._version)
>   File "/home/bradc/zope/270/lib/python/ZODB/FileStorage.py", line 687,
> in load
>     return self._load(oid, version, self._index, self._file)
>   File "/home/bradc/zope/270/lib/python/ZODB/FileStorage.py", line 655,
> in _load
>     raise POSKeyError(oid)
> ZODB.POSException.POSKeyError: 00000000001ae582

If you're lucky, it's just the ZODB index file that got corrupted, so
try deleting 'Data.fs.index', and hope it rebuilds itself correctly when
restarting. I probably don't have to tell you this but do it on a copy
of your instance.

-- 
Roché Compaan
Upfront Systems                 http://www.upfrontsystems.co.za


More information about the Zope mailing list