- RSA Governance & Lifecycle 8.0 P04
Any Change Request triggered by the Joiner Leave Mover Rule is getting rejected. The associated Workflow is also getting canceled. The the below error indicates that the object being saved contains a reference to another object that Hibernate is treating as a new (unsaved) instance. In the aveksaServer.log:
04/04/2025 05:09:14.294 ERROR (CR-Creation-8) [org.hibernate.internal.SessionImpl] HHH000346: Error during managed flush [object references an unsaved transient instance - save the transient instance before flushing: com.aveksa.server.core.cr.ChangeRequestItemDependency]
04/04/2025 05:09:14.296 ERROR (CR-Creation-8) [com.aveksa.server.core.concurrent.ConcurrentUtils] Task encountered an error.
com.aveksa.server.core.AdminServiceException: com.aveksa.server.db.PersistenceException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.aveksa.server.core.cr.ChangeRequestItemDependency
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.createChangeRequest(ChangeRequestCreationHandler.java:340) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.createChangeRequests(ChangeRequestCreationHandler.java:222) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.createChangeRequests(ChangeRequestCreationHandler.java:109) ~[server.jar:?]
at com.aveksa.server.core.cr.concurrent.CRCreationTask.call(CRCreationTask.java:39) ~[server.jar:?]
at com.aveksa.server.core.cr.concurrent.CRCreationTask.call(CRCreationTask.java:19) ~[server.jar:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:277) ~[?:1.8.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160) ~[?:1.8.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:1.8.0]
at java.lang.Thread.run(Thread.java:825) ~[?:2.9 (08-17-2023)]
Caused by: com.aveksa.server.db.PersistenceException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.aveksa.server.core.cr.ChangeRequestItemDependency
at com.aveksa.server.db.persistence.PersistenceServiceProvider.commitTransaction(PersistenceServiceProvider.java:2478) ~[server.jar:?]
at com.aveksa.server.db.persistence.PersistenceServiceProvider.commitTransaction(PersistenceServiceProvider.java:2436) ~[server.jar:?]
at com.aveksa.server.db.PersistenceManager.commitTransaction(PersistenceManager.java:359) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.persistChangeRequestWithCommits(ChangeRequestCreationHandler.java:551) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.persistChangeRequest(ChangeRequestCreationHandler.java:381) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.createChangeRequest(ChangeRequestCreationHandler.java:290) ~[server.jar:?]
... 8 more
Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.aveksa.server.core.cr.ChangeRequestItemDependency
at org.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:279) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.type.EntityType.getIdentifier(EntityType.java:462) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.type.ManyToOneType.nullSafeSet(ManyToOneType.java:144) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.persister.collection.AbstractCollectionPersister.writeElement(AbstractCollectionPersister.java:894) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.persister.collection.AbstractCollectionPersister.recreate(AbstractCollectionPersister.java:1313) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.persister.collection.OneToManyPersister.recreate(OneToManyPersister.java:186) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.action.internal.CollectionRecreateAction.execute(CollectionRecreateAction.java:50) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:582) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:456) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:337) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1282) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:465) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2963) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2339) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:485) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:147) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:231) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final]
at com.aveksa.server.db.persistence.PersistenceServiceProvider.commitTransaction(PersistenceServiceProvider.java:2467) ~[server.jar:?]
at com.aveksa.server.db.persistence.PersistenceServiceProvider.commitTransaction(PersistenceServiceProvider.java:2436) ~[server.jar:?]
at com.aveksa.server.db.PersistenceManager.commitTransaction(PersistenceManager.java:359) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.persistChangeRequestWithCommits(ChangeRequestCreationHandler.java:551) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.persistChangeRequest(ChangeRequestCreationHandler.java:381) ~[server.jar:?]
at com.aveksa.server.core.cr.ChangeRequestCreationHandler.createChangeRequest(ChangeRequestCreationHandler.java:290) ~[server.jar:?]
... 8 more The Joiner Mover Leaver Rule is adding the entitlement to a terminated user. The Change Request items are in turn getting rejected in the initial fulfillment phase. As there is no need to proceed with fulfillment, the associated fulfillment workflows are transitioned to the Cancelled state instead of getting stuck at the starting node.
A feature has been introduced in RSA Governance & Lifecycle under the custom flag "EnableAddEntitlementToTerminatedUsers" to Reject the Change Request items for terminated users by default.
Enable the "EnableAddEntitlementToTerminatedUsers" custom flag from the UI. This will revert the application to the correct behavior and the Change Requests will be completed successfully moving forward.
Related Articles
Entitlement Relationships are getting rejected in MAEDCs in RSA Governance & Lifecycle 10Number of Views Change Requests fail with 'Error getting UniqueID The UniqueIDUpdateService returned a null value' error in RSA Identity G… 634Number of Views Getting started with the RSA SecurID Access Cloud Authentication Service 659Number of Views Change Requests cancelled by Escalation Workflows progress to Fulfillment instead of getting cancelled in RSA Identity Gov… 137Number of Views Group Entitlements are getting added to shared accounts in RSA Governance & Lifecycle 44Number of Views