CA Identity ManagerCA Identity GovernanceCA Identity Portal
Issue/Introduction
In some scenarios the CA Identity Management workflow may produce a duplicate key violation (example below). CA provides a utility (IdCheck) to analyze and correct these data integrity issues.
2019-01-11 13:05:09,900 [main] INFO com.workpoint.gui.designer.Designer - PRODUCT = Workpoint; VERSION = 3.5.2; BUILD = 20140214.P004; BUILD DATE = 20 June 2015 2019-01-11 13:05:31,998 [AWT-EventQueue-0] ERROR com.workpoint.gui.common.ErrorDialog - Unable to generate script 'Temporary Get Resource Titles Script'. Exception returned from the HTTPPostMessage send. Error code = 1 Error message = ScriptUpdatePvt.save() returned java.sql.SQLException. Error message = A duplicate key violation has occurred 2019-01-11 13:05:31,998 [AWT-EventQueue-0] ERROR com.workpoint.gui.common.ErrorDialog - java.sql.SQLException: A duplicate key violation has occurred at com.workpoint.server.recordset.SmartStatement.executeBatch(Unknown Source) at com.workpoint.server.recordset.RecordSet.executeBatch(Unknown Source) at com.workpoint.server.recordset.WP_SCRIPT_LINE.insert(Unknown Source) at com.workpoint.server.recordset.Script.saveChildren(Unknown Source) at com.workpoint.server.recordset.Script.save(Unknown Source) at com.workpoint.server.pojo.ScriptUpdatePvtBean.save(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
The IdCheck process is used to recalculate all the NEXT_IDs in WP_ID_GEN table which tracks unique IDs. It ships as standard with CA Identity Manager including the Virtual Appliance (vAPP) and can be found in the folder
The IdCheck process is used to recalculate all the NEXT_IDs in WP_ID_GEN table which tracks unique IDs.
To run this tool, please stop your WorkPoint servers before executing the program.
Note that the program hooks directly to the database via JDBC, it does not go through the WorkPoint Server. Make sure your SQL JDBC driver of choice is in the classpath as set up in the IdCheck.bat
Once the connection to your database is configured in the window, press the Analyze button. Any tables that are out of synch will be displayed and highlighted, and the Fix button will become active.
In the example below you can see ID Check being used to connect to the Work Point Database (WPD) hosted on an external MS SQL Server Database.
Press the Fix button, and when it's finished it will confirm with a dialog "The Selected table(s) were fixed" and a subsequent dialog "There are no entries that currently need to be fixed". You may now close out of IdCheck and restart your Work Point Servers or in the case of the vApp restart_ig.