Requests fail to open after an upgrade with a deserialization error
Problem:
After upgrading OpenIAM from an older version while approval requests were still in flight, opening requests fails. Typical symptoms are the following.
- Navigating to Request Management → Request Administration and selecting a request shows an error instead of the request details.
- Newly created requests (for example, a new hire with approval) save successfully but appear broken as well, because a single pre-upgrade request on the page breaks the whole request list.
- The workflow service log contains an error similar to the following.
org.activiti.engine.ActivitiException: Couldn't deserialize object in variable 'RequestMetadataMap'at org.activiti.engine.impl.variable.SerializableType.deserialize(SerializableType.java:113)...Caused by: java.lang.ClassNotFoundException: org.openiam.idm.srvc.continfo.dto.EmailAddress
The root cause is that requests started on an older OpenIAM version store their display metadata in a serialized form that references internal class locations used by that version. A later reorganization moved those classes, so after the upgrade the workflow service could no longer read the stored data of requests that were created before the upgrade.
Solution:
Starting with the 2026.8 release, the workflow service translates the old class references automatically when reading request data. Requests that were in flight during the upgrade open normally in Request Administration, with their metadata intact, and no manual action is required.
On affected earlier releases, either upgrade to a version containing the fix, or complete/cancel the requests that were started before the upgrade so that only requests created on the current version remain.