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
  • Blog
  • 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
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • System Architecture
      • DataMiner Releases & Updates
    • 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)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

DOM field descriptor does not save string values when configured as a string parameter.

Solved904 views16th March 2023DOM
8
Rajesh R [SLC] [DevOps Member]714 14th March 2023 0 Comments

Hi All,

I have configured a field descriptor as a String type (Img 1).
However, when I try to write a string value to it (using low-code app), I get the below error (Img 2).
When I write an Int or long value, it is written to the DOM instance correctly.

Img 1

Img 2

Logging from DOM Manager:

2023/03/14 07:51:15.510|SLNet.exe|DomInstanceStorage|ERR|0|314|Skyline.DataMiner.Net.Apps.Utils.FailedSyncWriteException: Failed to write some objects. Should be written: 1. Exception SLDataGateway.API.Types.Exceptions.RepositoryException: System.Exception: Invalid NEST response built from a successful low level call on POST: /dms-active-cdominstance_feedbookings/_bulk
at SLDataGateway.Types.FileOffload.SwitchoverRouter`1.TryAction(Action`1 action, String actionName)
at SLDataGateway.Types.Storage.Queue.Writers.SimpleWriter`1.DoWork()
at SLDataGateway.API.Repositories.DataSetRepository`1.Upsert(IEnumerable`1 items, IUpsertTrackerConfiguration trackerConfiguration)
at Skyline.DataMiner.Net.Apps.Utils.CustomDataRepositoryStorage`2.InnerWrite(List`1 objects) ---> SLDataGateway.API.Types.Exceptions.RepositoryException: System.Exception: Invalid NEST response built from a successful low level call on POST: /dms-active-cdominstance_feedbookings/_bulk
at SLDataGateway.Types.FileOffload.SwitchoverRouter`1.TryAction(Action`1 action, String actionName)
at SLDataGateway.Types.Storage.Queue.Writers.SimpleWriter`1.DoWork()
at SLDataGateway.API.Repositories.DataSetRepository`1.Upsert(IEnumerable`1 items, IUpsertTrackerConfiguration trackerConfiguration)
at Skyline.DataMiner.Net.Apps.Utils.CustomDataRepositoryStorage`2.InnerWrite(List`1 objects)
--- End of inner exception stack trace ---

Please advise what could be causing this behaviour and if there is an alternative to re-creating a new field descriptor.
Thank you in advance.

Rajesh R [SLC] [DevOps Member] Selected answer as best 16th March 2023

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
7
Thomas Ghysbrecht [SLC] [DevOps Enabler]4.81K Posted 14th March 2023 3 Comments

Hi Rajesh,

Can you try removing this FieldDescriptor and adding it again? (Same name & type) It will have a different ID (which will hopefully not lead to too much extra work for you).

The DomInstance data is stored in Elasticsearch. Each value is indexed in there with the FieldDescriptor as a key. It could happen that Elasticsearch has the incorrect type defined for this key.

You can check it by sending a GET request to one of the Elasticsearch nodes. It should look something like this: "http://localhost:9200/dms-cdominstance_feedbookings/_mapping". (You can just copy and paste this in the URL bar of a browser as well.)
This should output a JSON which contains the field mapping for this alias. You can do a search on the FieldDesciptorID and you should see something like this.

If you see any other type (date, boolean, long) then it would seem that a FieldDescriptor has already been defined once in this manager that had this different type. It is not trivial to alter this manually, so using a different FieldDescriptor with a different ID is recommended.

Rajesh R [SLC] [DevOps Member] Selected answer as best 16th March 2023
Rajesh R [SLC] [DevOps Member] commented 15th March 2023

Thank you for sharing more information to identify the cause Thomas.

The field descriptor is indeed defined as a long in Elastic. This was probably due to the field descriptor being created as type long initially.

“69539dbf-f193-40e0-b33d-47d10b30ca28”: {
“properties”: {
“$type”: {
“type”: “keyword”
},
“$value”: {
“type”: “long”
}
}
}, 

If that is the expected behaviour, would that mean for any type of change to a DOM field descriptor, the ideal way to change is to re-create the descriptor?

Additionally, is there anything in the pipeline to remedy this current situation? – this is because these changes cause overhead when a subsequent component is utilizing DOM, in my case, a low-code app.
Should there be a couple of changes, it can add some significant efforts in changing minor portions of the DOM definitions.

Thomas Ghysbrecht [SLC] [DevOps Enabler] commented 15th March 2023

Thanks for confirming. In the documentation you can find a list of the properties that can be updated on the FieldDescriptors: https://docs.dataminer.services/user-guide/Advanced_Modules/DOM/DOM_objects/DOM_SectionDefinition.html#requirements. When updating any other property (like the type), an error wil be returned. This mechanism will unfortunatly not stop you from deleting a FieldDescriptor and adding it again in another request with another type. This would then result in the issue you were having. There is no checking mechanism available in the pipelines because there is no standardized way to define your DOM configuration that would allow this yet. It would however indeed be nice if this was the case in the future. To conclude, changing the type of an existing FieldDescriptor is not allowed. You will have to create a new one with another ID.

Rajesh R [SLC] [DevOps Member] commented 16th March 2023

Thank you Tomas. The information adds more clarity to the situation.

You are viewing 1 out of 1 answers, click here to view all answers.
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

Recent questions

Invoke HTTP Session from QAction 1 Answer | 1 Vote
Masked alarmes permission management 0 Answers | 0 Votes
Remove all Widgets from Section 2 Answers | 5 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
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

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin