- 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 RSA Identity Governance and Lifecycle Attribute change rule not detecting changes in terminated users 90Number of Views RSA Identity Governance and Lifecycle version 6.9.1 review does not accept the password with hash special character # 19Number of Views Group Entitlements are getting added to shared accounts in RSA Governance & Lifecycle 44Number of Views Attribute Change Rule not generating Change Requests in SecurID Governance & Lifecycle 87Number of Views
Trending Articles
How to manipulate imported RSA SecurID Software Token(s) on an iPhone or iPad device Reporting on RSA Authentication Manager 8.x users with On-Demand Token, a fixed passcode or a hardware/software token assi… How to Download OTP Token Seed Files from myRSA Anomalix idGenius - SAML Relying Party Configuration - RSA Ready Implementation Guide RSA MFA Agent 2.5 for Microsoft Windows Installation and Administration Guide