000039498 - ORA-02292: integrity constraint (AVUSER.FK_CONN_PROP_TO_CONN_TYPE_PROP) violated - child record found error when deleting a connector in RSA Identity Governance & Lifecycle

Document created by RSA Customer Support Employee on Dec 25, 2020
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000039498
Applies ToRSA Product Set: RSA Identity Governance & Lifecycle
RSA Version/Condition: 7.2.0
IssueIntegrity constraint error seen while deleting a connector from the UI. The following error is seen in aveksaServer.log:

[com.aveksa.afx.common.packagemgmt.connector.ConnectorInstaller] Cannot_Write_To_Database
com.aveksa.server.db.PersistenceException: n/a
at com.aveksa.server.db.persistence.PersistenceServiceProvider.commitTransaction(PersistenceServiceProvider.java:2467)
at com.aveksa.server.db.persistence.PersistenceServiceProvider.deleteAll(PersistenceServiceProvider.java:1368)
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38)
at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:231)
at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65)
at com.aveksa.server.db.persistence.PersistenceServiceProvider.commitTransaction(PersistenceServiceProvider.java:2456)
... 70 more
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (AVUSER.FK_CONN_PROP_TO_CONN_TYPE_PROP) violated - child record found

This error is seen when deleting a connector that was exported, the name in xml file was updated, and then the connector was imported back.

The following steps were followed to clone a connector:
  1. Exported a connector.
  2. Edited the exported connector xml to change the connector name, descriptor name, and display name.
  3. Imported the updated connector xml.
  4. Moved the imported connector to the running state.

Now when you try to delete any connector you get an error saying unable to delete the connector, and the logs show the same constraint error.
CauseThe integrity constraint error is caused by both connectors, the original one and the modified one, as they have the same "CONN_TYPE_ID" in T_AV_AFX_CONNECTOR table.

User-added image
ResolutionThe contents of an exported connector package/xml should not be edited for the purpose of importing back the modified connector, as such an operation is NOT supported.
WorkaroundIf you have run into this issue and need assistance with deleting those connectors, contact RSA Customer Support and quote this KB article for a procedure to delete those connectors directly from the database.