RSA Identity Governance & Lifecycle performance degrades to the point where a system crash may occur unless the RSA Identity Governance & Lifecycle application is restarted. Symptoms include:
Illegal TXN State during transaction rollback.
Blocking sessions on the database caused by Idle sessions.
Row lock contention.
AFX Server stops running
Possible system crash
Below are examples of symptoms that indicate you are having this issue:
Illegal TXN State in the user interface (Admin > System > Server Nodes)
Error - Illegal TXN State: Attempt to start new transaction during rollback.
An increasing number of blocking sessions are seen in Oracle Enterprise Manager (OEM):
Illegal TXN State errors and PersistenceServiceProvider references are seen in the aveksaServer.log:
07/03/2018 12:01:30.698 ERROR (default task-26) [com.aveksa.gui.core.filters.LoginFilter] java.lang.IllegalStateException: have sessions (SessionImpl(PersistenceContext ... at com.aveksa.server.db.persistence.PersistenceServiceProvider.checkAllClosed(PersistenceServiceProvider.java:3925) at com.aveksa.gui.core.MainManager.doGet(MainManager.java:135)
07/03/2018 12:04:29.857 ERROR (default task-8) [com.aveksa.server.core.AdminServiceProvider] Error cleaning up database context java.lang.RuntimeException: Illegal TXN State: Attempt to start new transaction during rollback. Txn count=3 at com.aveksa.server.db.persistence.PersistenceServiceProvider.beginTransaction(PersistenceServiceProvider.java:2633)
When something failed or was interrupted during database interaction (for example a malformed, failed or killed database statement), the code sometimes did not cleanup resources and revert transactions properly. This would lead to memory leaks which would waste memory and keep database locks until the application server was restarted.
This issue is resolved in the following RSA Identity Governance & Lifecycle patches:
RSA Identity Governance & Lifecycle 7.1.0 P03
RSA Identity Governance & Lifecycle 7.1.1.
Restart RSA Identity Governance & Lifecycle using the method for your specific platform deployment.