Duplicate ci relationship is created each time discovery is run
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-24-2023 12:31 AM
Duplicate CI relationship is being created whenever discovery is run. For example when we run a discovery for a server, a Runs on::Runs relationship with db instance is created. When discovery is run again, another runs on relationship is being created, while discovery should ignore if the relationship already exists.
Please suggest if anybody faced such issue and what could be causing the duplicate relationship records each time discovery is running, how to troubleshoot and fix the issue.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago
It may be related that running process is linked to the application, when process link removed, new duplicate relatioinship not created. This seems as a bug, it is not about CI creation , but duplicate relationships are created on the same records each run.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago
Hi @arunkaushik ,
This is a known scenario in Discovery when duplicate CI relationships get created on every run. Ideally, Discovery should update existing relationships, not create new ones — so this usually indicates an issue with Identification & Reconciliation or relationship handling.
Step-by-Step Troubleshooting & Fix
Step 1: Verify CI Duplication
Check if multiple CI records exist for:
Server
Database instance
Validate using:
Name, IP, sys_id, discovery source
If duplicate CIs exist → relationships will also duplicate
Step 2: Check Identification Rules
Navigate to:
CMDB → Identification and Reconciliation → Identification Rules
Verify for:
Server class (e.g.,
cmdb_ci_server)Database class
Ensure:
Strong identifiers are configured (e.g., name + serial/IP)
If identification is weak → system creates new CI each run
Step 3: Validate Reconciliation Rules
Go to:
Reconciliation Rules
Ensure:
Discovery source is properly defined
Relationship updates are allowed
Prevents duplicate creation and ensures proper updates
Step 4: Check Relationship Rules
Navigate to:
CMDB → CI Relationship Rules
Validate:
Rule for Runs on::Runs exists and is correct
Step 5: Check Discovery Pattern / Probe
Open relevant Pattern (for DB / server)
Look for:
Relationship creation step
Ensure:
It is not blindly inserting relationship
It checks for existing relationship
Step 6: Review Discovery Logs
Go to:
Discovery Status → Logs
Check:
CI identification
Relationship creation steps
Look for repeated “insert” instead of “update”
Step 7: Check for Custom Scripts
Review:
Business Rules on
cmdb_rel_ciScript Includes used in Discovery
Custom logic may be inserting duplicates
Step 8: Enable De-duplication (If Needed)
Use:
CI Relationship De-duplication jobs
Or create cleanup script to remove duplicates
