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.
精彩评论