Resolving "1945-Database error: fil_pcfg_node_delete() Unable to execute statement(DELETE FROM swpro.NODE_CLUSTER WHERE logical_machine_id = :1) (Statement ID - 289) (ORA-02292: integrity constraint (SWPRO.FK_PROCESS_CONFIG) violated - child

Resolving "1945-Database error: fil_pcfg_node_delete() Unable to execute statement(DELETE FROM swpro.NODE_CLUSTER WHERE logical_machine_id = :1) (Statement ID - 289) (ORA-02292: integrity constraint (SWPRO.FK_PROCESS_CONFIG) violated - child

book

Article ID: KB0083697

calendar_today

Updated On:

Products Versions
TIBCO iProcess Engine (Oracle) -
Not Applicable -

Description

Issuing a swadm delete_server command to delete a Slave Server in a Master Slave configuration will fail with following error in the sw_warn file:

1945-Database error: fil_pcfg_node_delete() Unable to execute statement(DELETE FROM swpro.NODE_CLUSTER WHERE logical_machine_id = :1) (Statement ID - 289) (ORA-02292: integrity constraint (SWPRO.FK_PROCESS_CONFIG) violated - child record found.

Cause:
The two tables which are causing the error are the following:
process_config
node_cluster

As there is no "ON DELETE CASCADE" constraint between the two table, the swadm delete_server command will fail as this command deletes the server entry from the node_cluster table. Note that as there is no "ON DELETE CASCADE", it does not trigger the entries from the processes associated with the server you are trying to remove to get deleted from the process_config table.

Issue/Introduction

Resolving "1945-Database error: fil_pcfg_node_delete() Unable to execute statement(DELETE FROM swpro.NODE_CLUSTER WHERE logical_machine_id = :1) (Statement ID - 289) (ORA-02292: integrity constraint (SWPRO.FK_PROCESS_CONFIG) violated - child record found)" to delete server in iProcess Engine.

Environment

All Supported Operating Systems

Resolution

As there is no constraint between the Node_Cluster table and the Process_Config table, all the processes related to the Server that you wish to remove need to be removed from the Process_Config table first BEFORE you can remove the server from the Node_Cluster table. To remove all processes from the node you wish to remove, first stop all processes on that node. Next issue the swadm delete_process command to remove each process.

For example:
swadm delete_process  2 BG 1
swadm delete_process 2 BG 2
....

After deleting all the processes you can issue the swadm delete_server command.