Plone 3.3->;4.1迁移失败,损坏了RAMCache AttributeError:';RAMCache';对象没有属性'_cacheId';

Plone 3.3->;4.1迁移失败,损坏了RAMCache AttributeError:';RAMCache';对象没有属性'_cacheId';,plone,Plone,在3.3->4.1迁移之后,我在结果页面上得到异常 File "/fast/buildout-cache/eggs/plone.app.viewletmanager-2.0.2-py2.6.egg/plone/app/viewletmanager/manager.py", line 85, in render return u'\n'.join([viewlet.render() for viewlet in self.viewlets]) File "/

在3.3->4.1迁移之后,我在结果页面上得到异常

      File "/fast/buildout-cache/eggs/plone.app.viewletmanager-2.0.2-py2.6.egg/plone/app/viewletmanager/manager.py", line 85, in render
        return u'\n'.join([viewlet.render() for viewlet in self.viewlets])
      File "/fast/buildout-cache/eggs/plone.memoize-1.1.1-py2.6.egg/plone/memoize/volatile.py", line 281, in replacement
        cached_value = cache.get(key, _marker)
      File "/fast/buildout-cache/eggs/plone.memoize-1.1.1-py2.6.egg/plone/memoize/ram.py", line 124, in get
        return self.__getitem__(key)
      File "/fast/buildout-cache/eggs/plone.memoize-1.1.1-py2.6.egg/plone/memoize/ram.py", line 166, in __getitem__
        MARKER)
      File "/fast/buildout-cache/eggs/zope.ramcache-1.0-py2.6.egg/zope/ramcache/ram.py", line 107, in query
        s = self._getStorage()
      File "/fast/buildout-cache/eggs/zope.ramcache-1.0-py2.6.egg/zope/ramcache/ram.py", line 122, in _getStorage
        cacheId = self._cacheId
    AttributeError: 'RAMCache' object has no attribute '_cacheId'
看起来RAMCache对象处于无效状态

在此之前,请查看日志:

  2012-06-21 16:42:54 INFO plone.app.upgrade Ran upgrade step: Miscellaneous
  2012-06-21 16:42:54 INFO plone.app.upgrade End of upgrade path, migration has finished
  2012-06-21 16:42:54 INFO plone.app.upgrade Your Plone instance is now up-to-date.
  2012-06-21 16:43:02 ERROR txn.4553572352 Error in tpc_abort() on manager <Connection at 10be48490>
  Traceback (most recent call last):
    File "/fast/buildout-cache/eggs/transaction-1.1.1-py2.6.egg/transaction/_transaction.py", line 484, in _cleanup
      rm.tpc_abort(self)
    File "/fast/buildout-cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZODB/Connection.py", line 730, in tpc_abort
      self._storage.tpc_abort(transaction)
    File "/fast/buildout-cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZEO/ClientStorage.py", line 1157, in tpc_abort
      self._server.tpc_abort(id(txn))
    File "/fast/buildout-cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZEO/ServerStub.py", line 255, in tpc_abort
      self.rpc.call('tpc_abort', id)
    File "/fast/buildout-cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZEO/zrpc/connection.py", line 768, in call
      raise inst # error raised by server
  OSError: [Errno 2] No such file or directory: '/fast/xxx-2012/var/blobstorage/0x00/0x00/0x00/0x00/0x00/0x07/0xdc/0x55/0x00FWigqp.tmp-'
  2012-06-21 16:43:03 ERROR Zope.SiteErrorLog 1340286183.10.000607291180815 http://localhost:9666/xxx/@@plone-upgrade
  Traceback (innermost last):
    Module ZPublisher.Publish, line 134, in publish
    Module Zope2.App.startup, line 301, in commit
    Module transaction._manager, line 89, in commit
    Module transaction._transaction, line 329, in commit
    Module transaction._transaction, line 446, in _commitResources
    Module ZODB.Connection, line 781, in tpc_vote
    Module ZEO.ClientStorage, line 1098, in tpc_vote
    Module ZEO.ClientStorage, line 929, in _check_serials
  IOError: [Errno 2] No such file or directory: '/fast/xxx-2012/var/blobstorage/0x00/0x00/0x00/0x00/0x00/0x07/0xdd/0xca/0x009kWNYQ.tmp-'
2012-06-21 16:42:54 INFO plone.app.upgrade运行升级步骤:杂项
2012-06-21 16:42:54 INFO plone.app.upgrade升级路径结束,迁移已完成
2012-06-21 16:42:54信息plone.app.升级您的plone实例现在是最新的。
2012-06-21 16:43:02错误txn.4553572352管理器上的tpc_abort()中存在错误
回溯(最近一次呼叫最后一次):
文件“/fast/buildout cache/eggs/transaction-1.1.1-py2.6.egg/transaction/_transaction.py”,第484行,在_cleanup中
rm.tpc_中止(自身)
文件“/fast/buildout cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZODB/Connection.py”,第730行,tpc_中止
self.\u storage.tpc\u中止(事务)
文件“/fast/buildout cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZEO/ClientStorage.py”,第1157行,tpc_中止
self._server.tpc_中止(id(txn))
文件“/fast/buildout cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZEO/ServerStub.py”,第255行,tpc_中止
self.rpc.call('tpc_abort',id)
文件“/fast/buildout cache/eggs/ZODB3-3.10.5-py2.6-macosx-10.7-x86_64.egg/ZEO/zrpc/connection.py”,第768行,呼叫中
raise inst#服务器引发错误
OSError:[Errno 2]没有这样的文件或目录:'/fast/xxx-2012/var/blobstorage/0x00/0x00/0x00/0x07/0xdc/0x55/0x00FWigqp.tmp-'
2012-06-21 16:43:03错误Zope.SiteErrorLog 1340286183.10.000607291180815http://localhost:9666/xxx/@@plone升级
回溯(最里面的最后一个):
模块ZPublisher.Publish,第134行,在Publish中
提交中的模块Zope2.App.startup,第301行
模块事务。\u管理器,第89行,提交
模块事务。\提交中的事务,第329行
模块事务._事务,第446行,在_CommitterSources中
tpc_表决中第781行模块ZODB.连接
模块ZEO.ClientStorage,第1098行,tpc_中
ZEO.ClientStorage模块,第929行,连续检查
IOError:[Errno 2]没有这样的文件或目录:'/fast/xxx-2012/var/blobstorage/0x00/0x00/0x00/0x07/0xdd/0xca/0x009kWNYQ.tmp-'
  • 为什么会发生这种情况

  • 有没有关于如何重新初始化RAMCache对象的指针


RAMCache是FaviconViewlet第一次引用的,它使用@memoize除臭剂,导致了此错误。

根据回溯,您的迁移显然没有成功完成。因此,我将专注于找出它失败的原因,而不是解决诸如损坏的RAMCache之类的问题,这可能是迁移没有运行的结果


回溯表明它在尝试中止事务时中断了…因此您可能需要进行一些调试,以确定是什么原因导致它尝试中止,因为您粘贴的日志中没有指出这一点。

谢谢。这使我走上了正确的道路。它不完全确定出了什么问题,但迁移后显示的页面导致了一个异常——它试图呈现Viewlet,但失败了。此异常没有在日志中留下太多跟踪。解决方案是切换旧的3.3。运行迁移之前,将Data.fs设置为“Plone Default Theme”。