Zodbverify failed on a existing Data.fs under python 2.7

Upgraded Plone 5.2 on debian buster with pyton 2.7. It's been in production since Plone 3 without any add-on.

Now I am trying to migrate the Data.fs to python3 following the guide: https://docs.plone.org/manage/upgrading/version_specific_migration/upgrade_zodb_to_python3.html.
In the step of zodbverify under python 2.7, I did these:

  1. copy Data.fs and blobstorage from upgraded plone 5.2 in zeocluster mode to newly installed Plone 5.2 in standalone mode under python 2.7.
  2. add lines below in the new buildout.cfg:
    eggs +=
  3. run builout: sudo -u plone_buildout bin/buildout
  4. run "bin/instance zodbverify"

Then I run into two problems:

  1. got this error: Error: unknown type name: u'temporarystorage' (line 28 in file:///opt/instance2/zinstance/parts/instance/etc/zope.conf)
    Should I comment out temporarystorage block in zope.conf, or just run "bin/zodbverify -f var/filestorage/Data.fs? They are the same ?
  2. run "bin/zodbverify -f var/filestorage/Data.fs and got lots of importerror: https://pastebin.com/NM6rDd1D. This is two detailed info of importerror:https://pastebin.com/GtkhVyb1.
    What can I do to deal with this?


@Hugo It seems you are using a old version of zodbverify. The current version is 1.1.0 and will give you a list of oids for each error.

Fixing all of these errors is actually a more complex task. I was planning to write everything I learned about that down for my training in Sorrento but then came Corona. :frowning:

One thing you should do is discussed in Zodbverify: Porting Plone with ZopeDB to Python3.

You can probably safely ignore most errors you get before running zodbupdate --convert-py3, the important ones are the errors you get after the migration. But even many of those can be safely ignored. The hard question is which ones. My rule of thumb is: If the site works and you can pack the database without errors you could continue. If you have more time and/or budget you can spend time to investigate the problems.

I promise to give a detailed talk about that at the next conference and I will write documentation about it :slight_smile:


Plone Foundation Code of Conduct