[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