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
2 years ago
Originally Published: 2020-12-14
Article Number
000044524
Applies To
RSA Product Set: RSA Identity Governance & Lifecycle
RSA Version/Condition: 7.2.0
Issue
Integrity 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.
Cause
The 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
 
Resolution
The 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.
Workaround
If 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.
Attachments
If the attachment does not open when clicked, please refresh the page and try again. You must be logged into view the file(s).