I have a Plone 4.1.3 instance with a corrupt Zope index. The instance has been upgraded several times. At some point - probably during the transition from Plone 3 to 4 - the index became corrupt. When I attempt a complete rebuild of the index the operation fails with many 'item not found' errors.
What tools are available to repair a Zope/Plone index?
Here is the traceback from the catalog rebuild:
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module Products.CMFPlone.CatalogTool, line 459, in manage_catalogRebuild
Module plone.app.discussion.patches, line 46, in patchedClearFindAndRebuild
Module OFS.FindSupport, line 239, in ZopeFindAndApply
Module OFS.FindSupport, line 239, in ZopeFindAndApply
Module OFS.FindSupport, line 239, in ZopeFindAndApply
Module OFS.FindSupport, line 239, in ZopeFindAndApply
Module OFS.FindSupport, line 227, in ZopeFindAndApply
Module plone.app.discussion.patches, line 25, in indexObject
Module Products.Archetypes.CatalogMultiplex, line 38, in indexObject
Module Products.CMFPlone.CatalogTool, line 387, in catalog_object
Module Products.ZCatalog.ZCatalog, line 476, in catalog_object
Module Products.ZCatalog.Catalog, line 322, in catalogObject
Module Products.ZCatalog.Catalog, line 272, in updateMetadata
Module Products.ZCatalog.Catalog, line 396, in recordify
Module plone.indexer.wrapper, line 59, in __getattr__
Module plone.indexer.delegate, line 16, in __call__
Module Products.CMFPlone.CatalogTool, line 221, in getObjSize
Module Products.ATContentTypes.content.base, line 198, in get_size
Module plone.app.blob.field, line 273, in get_size
Module plone.app.blob.field, line 85, in get_size
Module plone.app.blob.utils, line 52, in openBlob
Module ZODB.Connection, line 860, in setstate
Module ZODB.Connection, line 922, in _setstate
Module ZODB.blob, line 644, in loadBlob
POSKeyError: 'No blob file'