Hello! Please help solve the problem.
I am trying to upgrade from version 5.1.6 to 5.2.7
I get the error in the next step:
/portal_setup/manage_upgrades
Upgrade Step Group
-> Run to52beta1 upgrade profile. (5201 → 5202)
-> Run to52rc1 upgrade profile. (5201 → 5202)
Traceback (innermost last):
Module ZPublisher.WSGIPublisher, line 155, in transaction_pubevents
Module ZPublisher.WSGIPublisher, line 337, in publish_module
Module ZPublisher.WSGIPublisher, line 255, in publish
Module ZPublisher.mapply, line 85, in mapply
Module ZPublisher.WSGIPublisher, line 61, in call_object
Module Products.GenericSetup.tool, line 1088, in manage_doUpgrades
Module Products.GenericSetup.upgrade, line 168, in doStep
Module plone.app.upgrade.v52.betas, line 110, in to52beta1
Module plone.app.upgrade.v52.betas, line 72, in remove_interface_indexes_from_relations_catalog
Module zc.relation.catalog, line 564, in unindex
Module z3c.relationfield.index, line 42, in dump
Module five.intid.intid, line 41, in getId
Module zope.intid, line 108, in getId
IntIdMissingError: <z3c.relationfield.relation.RelationValue object at 0xad63b22c oid 0x4b396 in <Connection at b4992dec>>
I’m getting this too on a current upgrade project. It’s probably the next thing I have to figure out so I’ll post again if I make progress.
Do you know if it is hitting this for you on a Relation field in a custom or extended content type vs an included type? For me it is not a default type it is a custom field on a type provided by an add-on.
For myself, I used the following solution, which is not correct, but works.
In the file
plone.app.upgrade/plone/app/upgrade/v52/betas.py
I commented out the line 72:
for rel in relations: #catalog.unindex (rel) <-----------------------------
try:
catalog.index (rel)
except IntIdMissingError:
logger.warn ('Broken relation removed.')
I am using the latest stable version of Plone 5.2.0 (5207) which includes plone.app.upgrade 2.0.27 with corrections.
It is not possible to immediately upgrade from 5.1 to 5.2. using the fixes, all update steps are automatically performed.
This is a code error or my catalog is not standard.
Then I don't know what's going on there. I had the relations error when I tested the migration in several of our sites, and it was gone after the said changes.
I have a similar error in a similar situation: upgrading from 5.1.5 to 2.5.1. Upgrade fails with an ObjectMissingError related to intids.
2020-06-04 13:16:14,099 ERROR [plone.app.upgrade:299][waitress] Upgrade aborted. Error:
Traceback (most recent call last):
File "/opt/plone52/buildout-cache/eggs/Products.CMFPlone-5.2.1-py2.7.egg/Products/CMFPlone/MigrationTool.py", line 292, in upgrade
step['step'].doStep(setup)
File "/opt/plone52/buildout-cache/eggs/Products.GenericSetup-2.0.1-py2.7.egg/Products/GenericSetup/upgrade.py", line 168, in doStep
self.handler(tool)
File "/opt/plone52/buildout-cache/eggs/plone.app.upgrade-2.0.31-py2.7.egg/plone/app/upgrade/v52/betas.py", line 130, in to52beta1
remove_interface_indexes_from_relations_catalog()
File "/opt/plone52/buildout-cache/eggs/plone.app.upgrade-2.0.31-py2.7.egg/plone/app/upgrade/v52/betas.py", line 71, in remove_interface_indexes_from_relations_catalog
relation = catalog.resolveRelationToken(token)
File "/opt/plone52/buildout-cache/eggs/zc.relation-1.1.post2-py2.7.egg/zc/relation/catalog.py", line 726, in resolveRelationToken
return self._relTools['load'](token, self, {})
File "/opt/plone52/buildout-cache/eggs/z3c.relationfield-0.9.0-py2.7.egg/z3c/relationfield/index.py", line 49, in load
return intids.getObject(token)
File "/opt/plone52/buildout-cache/eggs/zope.intid-4.3.0-py2.7.egg/zope/intid/__init__.py", line 89, in getObject
raise ObjectMissingError(id)
ObjectMissingError: 356395009
The code change suggested in upgrade/v52/betas.py has been made in the copy I got via the installer.
It is suggested above that "You should upgrade your site to 5.2 directly, without going through the beta or RC versions.". How? On launching the 5.2.1 instance I get an 'Upgrade' button which walks through all the updates.