ZMI 目录清除和重建失败,并显示“POSKeyError:“No blob file””
我们有一个站点从 plone 3 迁移到 plone 4.0.5。从 acl_users 中删除用户后无法正常工作(另一个问题),并且在没有运气的研究(作为最后的手段)尝试清除并重建目录后,我发现 acl_users 和 Portal_membership 之间存在差异。
失败并出现 POSKeyError: 'No blob file'(回溯如下)。我们不在应用程序中使用 Blob 存储,因为它是 Plone 3 诞生的。研究该问题会导致在 http://dev.plone.org/plone/ticket/11999?version=0 以及 http://plone.org/products/plone.app.blob/issues/10。
任何人都可以解决这个问题。我是否必须设置一个虚拟 blob 存储或其他东西?
谢谢,
戈德
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'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这通常意味着您已将站点的:
但未将:
移动到新位置。恢复 var/blobstorage(使用适当的文件系统权限,以便 ZEO 可以读取它)应该可以解决该问题。
This often times means you have moved your site's:
but not:
to a new location. Restoring var/blobstorage (with the appropriate file system permissions so ZEO can read it) should resolve the issue.
正如另一个答案提到的,您正在使用 BLOB,因为在 Plone 4 中,我们默认将文件和图像迁移到 BLOB。
我怀疑无论什么对象在迁移后导致您出现此问题,在迁移前都可能处于某种损坏的状态。尝试恢复您的 Plone 3 备份并运行清除并重建,看看您是否从中获得任何信息。还尝试使用 PDBDebugMode
post_mortem
调试,然后在运行清除和重建之前删除它们。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.我必须做同样的事情,将 var/blobstorage 复制到新位置,并使用 chown -R 和 chgrp -R 将所有者和组更改为 plone。
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.