- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-01-2025 06:01 AM
Hi All,
I have an issue for one of the AIX server where discovery is failing with 'MULTIPLE_DUPLICATE_RECORDS' error message.
Complete Error Message -
MULTIPLE_DUPLICATE_RECORDS Found duplicate records in table [cmdb_ci_hardware] using fields [serial_number]
Let me give you a brief background on what analysis I have done.
1. I am not able to reproduce this in the Dev instance.
2. I have also compared the AIX pattern between prod and dev no changes.
3. There are other AIX servers where discovery is working fine.
4. As per the error message validated few tables relating to aix pattern (ibm frame tables, hardware table) etc.
5. Also analysed the payload to understand more on this.
Some of the things which I want to highlight from the payload
"markers": [],
"mergedPayloadIds": [],
"warningCount": 0,
"className": "cmdb_ci_lpar_instance",
"operation": "INSERT_AS_INCOMPLETE",
"sysId": "Unknown",
"errors": [
{
"error": "ABANDONED",
"message": "Abandoning processing payload item '{\"className\":\"cmdb_ci_lpar_instance\",\"values\":{\"install_status\":\"1\",\"name\":\"qs07902\",\"is_vio\":\"false\",\"correlation_id\":\"xxxxxx_xx\",\"object_id\":\"xxxx_xx\",\"sys_class_name\":\"cmdb_ci_lpar_instance\"},\"internal_id\":\"xxxxxxxxx\",\"sys_object_source_info\":{},\"settings\":{},\"sys_ire_info\":{},\"display_values\":{}}', since its depends on payload item '{\"className\":\"cmdb_ci_ibm_frame\",\"values\":{\"install_status\":\"1\",\"name\":\"IBM Frame@xxxxxxxxx\",\"serial_number\":\"xxxxxxxx\",\"sys_class_name\":\"cmdb_ci_ibm_frame\"},\"interna...}' has errors"
}
]
},
],
"markers": [],
"mergedPayloadIds": [],
"warningCount": 0,
"className": "cmdb_ci_ibm_frame",
"operation": "INSERT_AS_INCOMPLETE",
"sysId": "Unknown",
"errors": [
{
"error": "MULTIPLE_DUPLICATE_RECORDS",
"message": "Found duplicate records in table [cmdb_ci_hardware] using fields [serial_number]. "
}
]
},
{
I would need some inputs and step by step approach we could take to resolve this issue.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-04-2025 03:55 AM
Hi @HarshitaC ,
As per my understanding, Root cause (based on your error & payload)
Discovery tries to insert a new cmdb_ci_ibm_frame using serial_number.
But in your CMDB there are multiple existing records in cmdb_ci_hardware that have the same serial_number.
IRE sees multiple matches → cannot decide which to use → errors with:
MULTIPLE_DUPLICATE_RECORDS Found duplicate records in table [cmdb_ci_hardware] using fields [serial_number].
As a result:
* It fails to insert the cmdb_ci_ibm_frame
* And then, since the LPAR CI depends on the frame (via payload hierarchy), it also fails with:
ABANDONED processing payload item...
Troubleshooting & fix
Step 1: Check duplicates in CMDB
Run this query:
select sys_id, name, serial_number, sys_class_name
from cmdb_ci_hardware
where serial_number='xxxxxxx'
* Replace 'xxxxxxx' with the actual serial_number from payload.
* Confirm if you see more than one record with the same serial_number.
Step 2: Check Identification Rule for cmdb_ci_ibm_frame
Go to:
Identification Rules → Table: cmdb_ci_ibm_frame
Check:
* Is serial_number the only identifier?
* Or combined with other fields like name, object_id etc.
If only serial_number → very likely to hit duplicates if multiple frames have same serial.
Step 3: Decide how to clean CMDB
Option A:
* Identify which duplicate CI is real, keep it.
* Delete the other(s).
Option B:
* Merge data manually if both records have partial data.
Step 4: Add uniqueness in Identification Rule (if possible)
If the IBM frame pattern also discovers object_id or another unique attribute:
* Modify the Identification Rule to use serial_number + object_id
* Or serial_number + name (if name is stable & unique).
This helps IRE uniquely identify the CI, avoiding duplicates.
Step 5: Validate Discovery pattern
Make sure:
* Pattern for cmdb_ci_ibm_frame is correctly populating serial_number, object_id, name.
* No missing mandatory attributes.
* No customization differences between prod & dev.
Step 6: Re-run Discovery
After cleanup / rule fix:
* Trigger Discovery again in prod.
* Validate the IBM Frame gets updated instead of insert failing.
* LPAR CIs should also get created / updated properly.
Additional tips & best practices
1. Run regular CMDB Health → Duplicate CI dashboard.
2. Avoid multiple sources writing to same class with overlapping identifiers.
3. Consider adding a business rule or duplicate detection to prevent duplicates from manual inserts or imports. 4. Make sure Discovery schedules target correct subnets & credentials.
Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-05-2025 06:57 AM
Hi @HarshitaC ,
As per my Understanding problem issue Summary
You are observing multiple CI records with the same serial number in the cmdb_ci_ibm_frame table. Based on the identification rule configuration, the system should be using multiple identifiers (e.g., Name + Serial Number) rather than just Serial Number, yet duplicates still exist.
Root Cause Analysis
1. Duplicate Serial Numbers in CMDB:
* As your screenshot shows, there are multiple CI records with the same serial number but different update timestamps.
* This means the identification engine is not matching existing records correctly, hence creating new ones.
2. Identification Rule for cmdb_ci_ibm_frame:
* Your attached hardware rule screenshot shows multiple active identifiers, including:
* Name + Serial Number (Priority 200)
* Serial Number alone (Priority 275)
* Name alone (Priority 300)
* Expectation: The engine should match on the highest priority identifier (Name + Serial Number) first.
* Possible Gap: If the name is missing or mismatched, the engine falls back to using only Serial Number — increasing the chance of duplicates if other identifiers fail.
Clarifications and Key Points
* Yes, you're correct that the identification engine tries identifiers in order of priority.
* If the Name is not matching (or is empty in payload), then Serial Number is used.
* The matching behavior is dependent on both the incoming discovery payload and data already in CMDB.
* If the incoming payload lacks name, or the name is inconsistent (e.g., includes FQDN vs short name), the rule will fail to match on Name + Serial and fallback to Serial Number alone.
Solution Steps
1. Review and Clean CMDB Duplicates
* Run a report or script to identify duplicate CIs by serial number and consolidate them.
* Choose which one to retain based on last discovered, last updated, or assigned fields.
2. Enhance Identification Rule (Optional)
If discovery payload always contains IP address or FQDN, consider adding these as part of identifier to reduce false positives.
3. Validate Discovery Payloads
* Use Discovery Log → Payload Viewer for IBM Frame discoveries.
* Confirm that both Serial Number and Name are sent properly.
4. Improve Data Consistency
* Normalize the Name field via post-processing script or mid-server sensor so that it matches existing CIs more reliably.
5. Lower the Priority of Serial Number-Only IdentifierIf appropriate in your environment:
* Lower the priority (or deactivate) the identifier using only Serial Number.
* This will force the system to always prefer Name + Serial Number or other combinations before falling back.
Verification After changes:
* Re-run discovery for one of the duplicate-prone CIs.
* Check logs (identification section) to confirm the system is matching existing CI, not creating a new one.
Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025