Сбой очистки и перестроения каталога ZMI с помощью «POSKeyError:« Нет файла BLOB-объекта »» - PullRequest
3 голосов
/ 26 августа 2011

У нас есть сайт, перенесенный с plone 3 на plone 4.0.5.Я получал расхождения между acl_users и portal_membership после того, как удаление пользователей из acl_users не сработало должным образом (другая проблема), и после неудачного исследования (в крайнем случае) попытался очистить и перестроить каталог.

Этоошибка POSKeyError: «Нет файла BLOB-объекта» (трассировка ниже).Мы не используем хранилище BLOB-объектов в приложении, так как оно было разработано в Plone 3. Исследование проблемы приводит к получению неотвеченного билета по адресу http://dev.plone.org/plone/ticket/11999?version=0, а также к тупиковому комментарию по адресу http://plone.org/products/plone.app.blob/issues/10.

Кто-нибудь получиллюбая работа вокруг этого.Нужно ли мне устанавливать фиктивное хранилище больших двоичных объектов или что-то в этом роде?

Спасибо,

Горд

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'

Ответы [ 3 ]

3 голосов
/ 26 августа 2011

Это часто означает, что вы переместили свой сайт:

  • вар / filestorage / Data.fs

но не:

  • вар / blobstorage

на новое место. Восстановление var / blobstorage (с соответствующими разрешениями файловой системы, чтобы ZEO мог его прочитать) должно решить проблему.

1 голос
/ 17 февраля 2012

Мне пришлось сделать то же самое, скопировать var / blobstorage в новое место и изменить владельца и группу на plone с помощью chown -R и chgrp -R.

1 голос
/ 26 августа 2011

Как упоминается в другом ответе, вы используете BLOB, потому что в Plone 4 мы по умолчанию мигрировали в BLOB для файлов и изображений.

Я подозреваю, что любой объект, вызывающий эту проблему после миграции, вероятно, до миграции находился в несколько поврежденном состоянии. Попробуйте восстановить ваши резервные копии Plone 3 и запустить очистку и перестроить там, чтобы увидеть, если вы получите какую-либо информацию из этого. Также попробуйте найти поврежденные объекты в Plone 4, используя PDBDebugMode post_mortem отладка , а затем удалите их перед запуском clear и rebuild.

...