Normally you should change a stepper name like this:

  1. Make sure there are no running instances of the relevant Stepper (or a workflow using the stepper).
  2. Edit the Stepper name.
  3. Redeploy.

Potential Problem

If you forget step #1, then you can encounter the following issue. In this case we changed the stepper name from "ProductFamilys" to "ProductFamilies", but previous instances of the stepper still exist.

com.semarchy.mdm.dataui.domain.appmodel.MetadataObjectNotFoundException: Cannot find metadata DirectAuthoringDefinition for name ProductFamilys

This should never be an issue in PROD, since one wouldn't remove steppers that were being used. It's not blocking in DEV or PROD, since new stepper instances can run with no problem. But it can result in WARNINGS being logged similar to the one shown above regarding the old instances using the name of a stepper that no longer exists.

Solution

You can find Stepper Instances that are provoking this error with a query like this:

select  si.id        stepper_instance_id ,si.app_name ,il.creator ,il.classname ,il.status ,il.stepper_name from mta_stepper_instance si left outer join mta_integ_load il on ( il.loadid::text = si.load_id ) /* modify this PostgreSQL syntax slightly for Oracle or SQL Server. */ where dloc_name = 'My Data Location' ;

You can fix Stepper Instances with a simple update statement:

update mta_integ_load set stepper_name = 'ProductFamilies' where stepper_name = 'ProductFamilys';