[Zope-DB] POSKeyError

Igor Stroh stroh@scan-plus.de
18 Dec 2002 20:02:52 +0100

Hi there,

I didn't find anything helpfull in the archives, so I just ask:

I get this Exception when I try to reindex a TextIndex of a ZCatalog.
- Zope version is 2.5.1
- The Data.fs derives from a 2.4.2 Zope installation (I just copied the
Data.fs to the new 2.5.1 instance)
- Traceback from Zope's Web GUI [1]

I tried to follow the hint at
http://www.zopelabs.com/cookbook/1020679104 and got just the same
exception [2]

Any hints how I could remove the corrupted record?


Traceback (innermost last):
  File /usr/lib/zope/lib/python/ZPublisher/Publish.py, line 150, in publish_module
  File /usr/lib/zope/lib/python/ZPublisher/Publish.py, line 114, in publish
  File /usr/lib/zope/lib/python/Zope/__init__.py, line 159, in zpublisher_exception_hook
    (Object: )
  File /usr/lib/zope/lib/python/ZPublisher/Publish.py, line 98, in publish
  File /usr/lib/zope/lib/python/ZPublisher/mapply.py, line 88, in mapply
    (Object: manage_reindexIndex)
  File /usr/lib/zope/lib/python/ZPublisher/Publish.py, line 39, in call_object
    (Object: manage_reindexIndex)
  File /usr/lib/zope/lib/python/Products/ZCatalog/ZCatalog.py, line 455, in manage_reindexIndex
    (Object: search_all)
  File /usr/lib/zope/lib/python/Products/ZCatalog/ZCatalog.py, line 441, in reindexIndex
    (Object: search_all)
  File /usr/lib/zope/lib/python/Products/ZCatalog/ZCatalog.py, line 480, in catalog_object
    (Object: search_all)
  File /usr/lib/zope/lib/python/Products/ZCatalog/Catalog.py, line 367, in catalogObject
  File /usr/lib/zope/lib/python/Products/PluginIndexes/TextIndex/TextIndex.py, line 326, in index_object
    (Object: PrincipiaSearchSource)
  File /usr/lib/zope/lib/python/Products/PluginIndexes/TextIndex/GlobbingLexicon.py, line 99, in getWordId
  File /usr/lib/zope/lib/python/Products/PluginIndexes/TextIndex/GlobbingLexicon.py, line 139, in assignWordId
  File /usr/lib/zope/lib/python/ZODB/Connection.py, line 447, in setstate
  File /usr/lib/zope/lib/python/ZODB/FileStorage.py, line 582, in load
    (Object: /var/lib/zope/var/Data.fs)
  File /usr/lib/zope/lib/python/ZODB/FileStorage.py, line 557, in _load
    (Object: /var/lib/zope/var/Data.fs)
POSKeyError: (see above)

>>> import Zope
>>> app = Zope.app()
>>> ob = app._p_jar['\x00\x00\x00\x00\x00\x0c\xb8\x96']
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/zope/lib/python/ZODB/Connection.py", line 88, in __getitem__
    p, serial = self._storage.load(oid, self._version)
  File "/usr/lib/zope/lib/python/ZODB/FileStorage.py", line 582, in load
    return self._load(oid, version, self._index, self._file)
  File "/usr/lib/zope/lib/python/ZODB/FileStorage.py", line 557, in _load
    raise POSKeyError(oid)
ZODB.POSException.POSKeyError: 00000000000cb896