A timing issue in the vCenter event collector can cause duplicate relationships to be created. For example, if events for the creation and reconfiguration of the same VM arrive at virtually the same instant, the system creates duplicate relationships in the cmdb_rel_ci table. The identification engine considers this to be an error and refuses to identify the related CIs.
Steps to Reproduce
- Start the vCenter event collector on a busy vCenter.
Pick a vCenter on which VMs are frequently created and destroyed.
- Let the vCenter collect events for a few days.
- Search for duplicate relationships between a VM and its datacenter.
- Attempt to perform an action in CMP that requires identification of that VM.
Use the attached business rule that runs on the cmdb_rel_ci table to prevent creation of duplicate relationships. Because this table experiences a high number of inserts, the business rule can impact performance. However, no significant degradation is expected, because this business rules does not take nearly as long to complete as do others running on the cmdb_rel_ci table.
Note: This business rule could cause problems with custom code that creates or requires (probably unintentionally) duplicate relationships. The default ServiceNow platform does not contain such code.
Related Problem: PRB1293839