Skip to content
DataMiner Dojo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Updates & Insights
  • Questions
  • Learning
    • E-learning Courses
    • Empower Replay: Limited Edition
    • Tutorials
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • YouTube Videos
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Agility
      • Book your Agile Fundamentals training
      • Book you Kanban workshop
      • Learn more about Agile
        • Agile Webspace
        • Everything Agile
          • The Agile Manifesto
          • Best Practices
          • Retro Recipes
        • Methodologies
          • The Scrum Framework
          • Kanban
          • Extreme Programming
        • Roles
          • The Product Owner
          • The Agile Coach
          • The Quality & UX Coach (QX)
    • >> Go to DataMiner Docs
  • DevOps
    • About the DevOps Program
    • Sign up for the DevOps Pogram
    • DataMiner DevOps Support
    • Feature Suggestions
  • Swag Shop
  • Downloads
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Solutions
    • Deal Registration
  • Contact
    • Sales, Training & Certification
    • DataMiner Support
    • Global Feedback Survey
  • >> Go to dataminer.services

DOM – Avoid duplicate instance names

176 views7th July 2025DOM
5
Joey Vanhalst [SLC] [DevOps Advocate]1.93K 2nd July 2025 1 Comment

What is the best (and most performant) implementation to ensure there are no duplicate DOM instance names for a specific definition, taking into account that we need to support CRUD actions in bulk?

Thomas Ghysbrecht [SLC] [DevOps Enabler] Answered question 7th July 2025
Joey Vanhalst [SLC] [DevOps Advocate] commented 2nd July 2025

To be more specific, let's assume there are already 100K of these instances, and 10K instances need to be created or updated.

2 Answers

  • Active
  • Voted
  • Newest
  • Oldest
1
Benjamin Hodžić [SLC] [DevOps Advocate]1.22K Posted 2nd July 2025 0 Comments

Hi Joey, I’m not sure if it’s the most performant, but I created a script which is executed on DOM instance action settings – OnUpdate (if needed) and OnCreate.

There, with a simple automation script, I check if there is a duplicate name. It’s also executed for each DOM instance individually, which comes with a pitfall, though.

Because the scale of my DOM Definition is not as large as yours, I could afford fetching all DOM instances to check if the name exists.
In your case, you need a “small” caching mechanism.

I have tested a bit with a static Collection or a Set of all names in the script, and it turned out to be working fine, but creating a re-population and synchronization method (in case of process crash, DMA restart, etc.) would be like carrying water to the sea, as I have no more than 200 DOM instances. But that could work in your case.

Another idea are memory files, but I don’t know how performant would they be with the scale you’re operating with. It’s a shot in the dark.

Hope this helps even a bit.

Benjamin Hodžić [SLC] [DevOps Advocate] Edited answer 2nd July 2025
0
Thomas Ghysbrecht [SLC] [DevOps Enabler]5.06K Posted 7th July 2025 2 Comments

Hi Joey,

In general, it is recommended to avoid situations where DOM data like the name or a value of a field needs to be unique, as this will pretty much always mean an extra read check will need to be done. A DOM instance already has an ID that is guaranteed to be unique.

If this unique name field is needed, the only way to ensure this would be unique is to do a read check to see if there are already instances using that name. If the creates (or updates if this could impact the name) are done in bulk, the read call could also check multiple names at once using OR operators. (Note that cross-DMA uniqueness cannot be guaranteed if an instance with potentially the same name is created on another agent before the other with that name is fully indexed in the DB)

Caching could speed up things, but as mentioned by Benjamin, that requires you to know all names, which means you would need to read out all instances for the definition. If you expect that to be more than a few thousand of instances, this is not recommended. During the runtime of the solution, you could potentially keep a list of known-in-use names of the instances that were created during that runtime. If it is on that list, you could fail early. Not sure if that will be worth it in your case, however.

Thomas Ghysbrecht [SLC] [DevOps Enabler] Posted new comment 7th July 2025
Joey Vanhalst [SLC] [DevOps Advocate] commented 7th July 2025

Would it be a valid feature request to be able to indicate what fields in a DOM definition are expected to be unique (across instances using that definition)?

Thomas Ghysbrecht [SLC] [DevOps Enabler] commented 7th July 2025

That could in theory be something that could be made configurable. However, since this can drastically impact the create/update performance, (and considering the note about the cross-DMA limitation), I fear the team would be hesitant to make that available as a core feature.

Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs