Plone 5 atct_migrator issues during upgrade from Plone 4.3.10

I had a rather uneventful run at migrating from Plone 4.3.10 to 5.0.5. Then I moved on to Archetypes -> Dexterity conversion. The atct_migrator is wonderful, however it is encountering issues with the converting ATLink, BlobImage, and ATDocument. There are three different errors that are raised across the three types conversions.

I will share ATLink's stacktrace first in case anyone else has run into it and has any advice to share. I would use Pastie, but the servers seem to be down.

`Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish Module ZPublisher.mapply, line 77, in mapply Module ZPublisher.Publish, line 48, in call_object Module plone.z3cform.layout, line 66, in call Module plone.z3cform.layout, line 50, in update Module z3c.form.form, line 228, in update Module plone.app.z3cform.csrf, line 21, in execute Module z3c.form.action, line 98, in execute Module z3c.form.button, line 315, in call Module z3c.form.button, line 170, in call Module plone.app.contenttypes.migration.browser, line 389, in handle_migrate Module plone.app.contenttypes.migration.browser, line 224, in call Module plone.app.contenttypes.migration.migration, line 291, in migrate_links Module plone.app.contenttypes.migration.migration, line 52, in migrate Module Products.contentmigration.basemigrator.walker, line 149, in go Module ZODB.Connection, line 979, in register Module ZODB.Connection, line 989, in _register Module transaction._transaction, line 213, in join Module transaction._transaction, line 209, in _prior_operation_failedTransactionFailedError: An operation previously failed, with traceback:

File "/usr/local/bin/Plone/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZServer/PubCore/ZServerPublisher.py", line 31, in init
response=b)
File "/usr/local/bin/Plone/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 455, in publish_module
environ, debug, request, response)
File "/usr/local/bin/Plone/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 249, in publish_module_standard
response = publish(request, module_name, after_list, debug=debug)
File "/usr/local/bin/Plone/buildout-cache/eggs/collective.traceview-1.3-py2.7.egg/collective/traceview/patches/publisher.py", line 67, in add_context
res = meth(request, *args, **kwargs)
File "", line 2, in publish
File "/usr/local/bin/Plone/buildout-cache/eggs/oboe-1.3.8-py2.7-linux-x86_64.egg/oboe/init.py", line 622, in _log_method_wrapper
res = func(*f_args, **f_kwargs)
File "/usr/local/bin/Plone/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 138, in publish
request, bind=1)
File "/usr/local/bin/Plone/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/mapply.py", line 77, in mapply
if debug is not None: return debug(object,args,context)
File "/usr/local/bin/Plone/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 48, in call_object
result=apply(object,args) # Type s to step into published object.
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.z3cform-0.8.1-py2.7.egg/plone/z3cform/layout.py", line 66, in call
self.update()
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.z3cform-0.8.1-py2.7.egg/plone/z3cform/layout.py", line 50, in update
self.form_instance.update()
File "/usr/local/bin/Plone/buildout-cache/eggs/z3c.form-3.2.9-py2.7.egg/z3c/form/form.py", line 228, in update
self.actions.execute()
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.app.z3cform-1.2.1-py2.7.egg/plone/app/z3cform/csrf.py", line 21, in execute
super(AuthenticatedButtonActions, self).execute()
File "/usr/local/bin/Plone/buildout-cache/eggs/z3c.form-3.2.9-py2.7.egg/z3c/form/action.py", line 98, in execute
result = handler()
File "/usr/local/bin/Plone/buildout-cache/eggs/z3c.form-3.2.9-py2.7.egg/z3c/form/button.py", line 315, in call
return handler(self.form, self.action)
File "/usr/local/bin/Plone/buildout-cache/eggs/z3c.form-3.2.9-py2.7.egg/z3c/form/button.py", line 170, in call
return self.func(form, action)
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.app.contenttypes-1.2.16-py2.7.egg/plone/app/contenttypes/migration/browser.py", line 389, in handle_migrate
from_form=True,
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.app.contenttypes-1.2.16-py2.7.egg/plone/app/contenttypes/migration/browser.py", line 224, in call
v'migrator'
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.app.contenttypes-1.2.16-py2.7.egg/plone/app/contenttypes/migration/migration.py", line 291, in migrate_links
return migrate(portal, LinkMigrator)
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.app.contenttypes-1.2.16-py2.7.egg/plone/app/contenttypes/migration/migration.py", line 52, in migrate
walker = CatalogWalker(portal, migrator)()
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.contentmigration-2.1.12-py2.7.egg/Products/contentmigration/basemigrator/walker.py", line 144, in go
self.migrate(self.walk(), **kwargs)
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.contentmigration-2.1.12-py2.7.egg/Products/contentmigration/basemigrator/walker.py", line 192, in migrate
migrator.migrate()
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.contentmigration-2.1.12-py2.7.egg/Products/contentmigration/basemigrator/migrator.py", line 215, in migrate
self.createNew()
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.contentmigration-2.1.12-py2.7.egg/Products/contentmigration/basemigrator/migrator.py", line 487, in createNew
_createObjectByType(self.dst_portal_type, self.parent, self.new_id)
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.contentmigration-2.1.12-py2.7.egg/Products/contentmigration/common.py", line 69, in _createObjectByType
ob = fti._constructInstance(container, id, *args, **kw)
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.CMFCore-2.2.10-py2.7.egg/Products/CMFCore/TypesTool.py", line 569, in _constructInstance
rval = container._setObject(id, obj)
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.BTreeFolder2-2.14.0-py2.7.egg/Products/BTreeFolder2/BTreeFolder2.py", line 461, in _setObject
notify(ObjectAddedEvent(ob, self, id))
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.event-3.5.2-py2.7.egg/zope/event/init.py", line 31, in notify
subscriber(event)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/event.py", line 24, in dispatch
zope.component.subscribers(event, None)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 136, in subscribers
return sitemanager.subscribers(objects, interface)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py", line 321, in subscribers
return self.adapters.subscribers(objects, provided)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/adapter.py", line 585, in subscribers
subscription(*objects)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/event.py", line 32, in objectEventNotify
zope.component.subscribers((event.object, event), None)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 136, in subscribers
return sitemanager.subscribers(objects, interface)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/registry.py", line 321, in subscribers
return self.adapters.subscribers(objects, provided)
File "/usr/local/bin/Plone/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/adapter.py", line 585, in subscribers
subscription(*objects)
File "/usr/local/bin/Plone/buildout-cache/eggs/plone.app.versioningbehavior-1.2.8-py2.7.egg/plone/app/versioningbehavior/subscribers.py", line 62, in create_version_on_save
pr.save(obj=context, comment=changeNote)
File "/usr/local/bin/Plone/buildout-cache/eggs/Products.CMFEditions-2.2.20-py2.7.egg/Products/CMFEditions/CopyModifyMergeRepositoryTool.py", line 301, in save
sp = transaction.savepoint(optimistic=True)
File "/usr/local/bin/Plone/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_manager.py", line 101, in savepoint
return self.get().savepoint(optimistic)
File "/usr/local/bin/Plone/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 260, in savepoint
self._saveAndRaiseCommitishError() # reraises!
File "/usr/local/bin/Plone/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 373, in _saveAndRaiseCommitishError
t, v, tb = self._saveAndGetCommitishError()
File "/usr/local/bin/Plone/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 257, in savepoint
savepoint = Savepoint(self, optimistic, *self._resources)
File "/usr/local/bin/Plone/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 690, in init
savepoint = savepoint()
File "/usr/local/bin/Plone/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 1123, in savepoint
self._commit(None)
File "/usr/local/bin/Plone/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 615, in _commit
raise ConflictError(object=obj)
ConflictError: database conflict error (oid 0x45, class Products.CMFUid.UniqueIdGeneratorTool.UniqueIdGeneratorTool)`

For anyone who runs into this, I decided to update the uid_catalog entries through the ZMI > uid_catalog > Advanced Tab. Click "Update Catalog".

This allowed me to get through the BlobImage and ATLink conversions.