Duplicate products in CMDB
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
5 hours ago
Hi, I’m investigating an issue where duplicate Product Models are being created in cmdb_model from an integration.
The Product Code is already configured as a coalesce field, but we found multiple cases where two identical Product records were created by the integration user at the exact same timestamp. This suggests concurrent processing may be happening.
A previous Asset issue used a short delay and then rechecked whether the Asset existed before creating it. For Products, I’m considering either using a similar delay/retry approach or serializing the incoming Product import processing so requests are handled one at a time.
The Product itself may or may not be serialized; here “serialized processing” just means processing the incoming requests sequentially.
Can you please advise which approach you think is best in ServiceNow, and whether there are any risks or better alternatives I should consider?
Asset issue was previously fixed by adding a short delay and then checking again whether the Asset already existed before creating it. That works there because the Asset transform has custom script that manually does the lookup and insert, so the delay gives the other process time to finish and the second check can then find the existing Asset.
For Products, the transform does not have that same manual lookup/insert logic. It relies on the standard coalesce behaviour. So simply adding a delay may not help, because two Product requests could both wait and then continue together again.
I’m considering either adding proper retry logic similar to the Asset fix, or serializing the Product import processing so requests are handled one at a time.
