Ploneサイトを3.3.5からPlone4.1.2にアップグレードしようとしています。4.1.2のクリーンコピーをインストールし、Data.fsを4.1.2にコピーしようとしました。もうサポートされていないLargePloneFolderタイプであったため、membersフォルダーを削除する必要がありました。32ビット仮想マシンでは、これは問題なく機能しました。ただし、64ビット仮想マシンでエラーが発生しました。32ビットマシンでPlone3.3.5(同じマシン)からData.fsをコピーするか、Plone 4.1.2からData.fsをコピーすると、同じエラーが発生しました。
スタックトレース:
Iz@bigBox# bin/zeoserver fg
/usr/local/Plone/zeocluster/parts/zeoserver/bin/runzeo
Traceback (most recent call last):
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 405, in <module>
main()
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 402, in main
s.main()
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 158, in main
self.open_storages()
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/runzeo.py", line 207, in open_storages
self.storages[opener.name] = opener.open()
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/config.py", line 177, in open
return FileStorage(config.path, **options)
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/FileStorage.py", line 185, in __init__
read_only=read_only,
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/FileStorage.py", line 1554, in read_index
h = fmt._read_data_header(pos)
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/format.py", line 150, in _read_data_header
h = DataHeaderFromString(s)
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/format.py", line 236, in DataHeaderFromString
return DataHeader(*struct.unpack(DATA_HDR, s))
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZODB/FileStorage/format.py", line 246, in __init__
"Non-zero version length. Versions aren't supported.")
ValueError: Non-zero version length. Versions aren't supported.
Pythonバージョン:2.6はPlone4.1.2ユニファイドインストーラーに同梱されています
私もdbをパックしようとしました。Plone 3.3.5でfsrecover.pyを使用し、グラフィックインターフェイスも使用します。しかし、それも役に立ちません。32ビットのインストールでエラーがまったく発生せず、Data.fsの移行が正常に機能したため、これは奇妙なことです。
cpコマンドを使用してdbをコピーし、32ビットVMで正常に機能する-pオプションを使用してすべてのアクセス許可を保持します。