开发者

ZMI Catalog Clear and Rebuild fails with "POSKeyError: 'No blob file'"

We have a site migrated from plone 3 to plone 4.0.5. I was getting discrepancies between acl_users and portal_membership after deleting users from acl_users didn't work properly (another issue) and a after no luck researching (as a last 开发者_如何学编程resort) tried a clear and rebuild on the catalog.

This failed with POSKeyError: 'No blob file' (traceback below). We do not use Blob storage in the application as it was born to Plone 3. Researching the problem results in an unanswered ticket at http://dev.plone.org/plone/ticket/11999?version=0 and also a dead end comment at http://plone.org/products/plone.app.blob/issues/10.

Anyone got any work around to this. Do I have to set up a dummy blob storage or something?

Thanks,

Gord

Traceback (innermost last):
  Module ZPublisher.Publish, line 127, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 47, in call_object
  Module Products.CMFPlone.CatalogTool, line 356, in manage_catalogRebuild
  Module Products.CMFPlone.CatalogTool, line 346, in clearFindAndRebuild
  Module OFS.FindSupport, line 244, in ZopeFindAndApply
  Module OFS.FindSupport, line 244, in ZopeFindAndApply
  Module OFS.FindSupport, line 232, in ZopeFindAndApply
  Module Products.CMFPlone.CatalogTool, line 339, in indexObject
  Module Products.Archetypes.CatalogMultiplex, line 38, in indexObject
  Module Products.CMFPlone.CatalogTool, line 287, in catalog_object
  Module Products.ZCatalog.ZCatalog, line 521, in catalog_object
  Module Products.ZCatalog.Catalog, line 339, in catalogObject
  Module Products.ZCatalog.Catalog, line 278, in updateMetadata
  Module Products.ZCatalog.Catalog, line 416, in recordify
  Module plone.indexer.wrapper, line 59, in __getattr__
  Module plone.indexer.delegate, line 16, in __call__
  Module Products.CMFPlone.CatalogTool, line 135, in getObjSize
  Module Products.ATContentTypes.content.base, line 197, 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 838, in setstate
  Module ZODB.Connection, line 914, in _setstate
  Module ZEO.ClientStorage, line 991, in loadBlob 
POSKeyError: 'No blob file'


This often times means you have moved your site's:

  • var/filestorage/Data.fs

but not:

  • var/blobstorage

to a new location. Restoring var/blobstorage (with the appropriate file system permissions so ZEO can read it) should resolve the issue.


As the other answer mentions, you are using BLOBs because in Plone 4 we migrated to BLOBs for files and images by default.

I suspect that whatever object is causing you this problem after migration was probably in a somewhat broken state before migration. Try restoring your Plone 3 backups and running a clear and rebuild there to see if you get any information from that. Also try to find the offending object(s) under Plone 4 using PDBDebugMode post_mortem debugging and then delete them before running clear and rebuild.


I had to do the same, copy var/blobstorage to the new location and change the owner and group to plone, with chown -R and chgrp -R.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜