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
    • 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
    • Tutorials
    • 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
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • 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

Set on row error in element logs

Solved590 views4th July 2023
1
ryan yahia878 15th June 2023 2 Comments

Hello All,

I have this message in one of our element logs and am trying to make sense of it:

2023/06/15 14:31:00.340|SLProtocol - 2880 - |6896|ARRAY::SetAt|ERR|-1|[Cell update] Table [JobPlanningFileStatusTable [11500]] [Column: JobPlanningFileStatusTableStatus [11506]] Set on row 1984 [only 1984 row(s) available]

and we also have this message too:

2023/06/15 14:31:00.256|SLProtocol - 2880 - |6896|ARRAY::SetAt|ERR|-1|[Cell update] Table [JobPlanningFileStatusTable [11500]] [Column: JobPlanningFileStatusTableLastUpdate [11505]] Set on row 2003 [only 1984 row(s) available]

As you can see sometimes the number of rows is different to what is available and sometimes it is the same.

I believe it is stopping rows being set on the table 11500 correctly. Could someone shed some light on to this issue?

Thanks,

Ryan

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 4th July 2023
David Burden commented 15th June 2023

We would be interested to know whether this code is thread safe.
This occurrence of SetRow is happening in an asynchronous call.
There is potential for another action to concurrently delete rows from this table using the protocol.Delete() API call.

Would this be likely to cause the behaviour seen here?

João Severino [SLC] [DevOps Catalyst] commented 16th June 2023

Hi David,
It could definitely be the cause of the problem.
Although DataMiner does support a certain level of multithreading and asynchronous programming it is not immune to the inherent challenges that come from it.
If you have 2 places in your code that are trying to modify data at the same time, you could end up with data inconsistency if you do not use some safety checks like a locking mechanism.
My advice here would be to either not use the asynchronous calls or to ensure you implement a lock mechanism around your sets and deletes that ensures data integrity prior to sending the commands to confirm the errors you see in the logging go away.

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
1
João Severino [SLC] [DevOps Catalyst]12.94K Posted 15th June 2023 3 Comments

Hi Ryan,

It is tricky to give you a complete answer without knowing the full context but some pieces of information I can give you is that the row "number" is 0-based, so when DataMiner says it only has 1984 rows it means it will accept sets for rows 0 to 1983.

And when you see that it fails for 1984 it is trying "one too many" and when you see 2003 it is trying to set on 20 rows past what it has available.

Also, the error originates from a method doing cell sets but without knowing how the connector works I cannot be sure what is happening or what is the source of the data/sets.

Would you be able to shed some light on how the connector works?

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 4th July 2023
ryan yahia commented 15th June 2023

Hi João,

Thank you for your answer, please refer to my colleagues comment posted above for some more context.

I am not familiar with the term connector, what exactly is that.
Thanks,
Ryan

Ben Vandenberghe [SLC] [DevOps Enabler] commented 15th June 2023

‘Connector’ is a term that we use interchangeably with the term ‘driver’. The XML file that defines how DataMiner can interact with a third party product.

João Severino [SLC] [DevOps Catalyst] commented 16th June 2023

Hi Ryan,
My apologies for the confusion with the terms used, but indeed as Ben mentioned ‘Connector’ is the term we use to refer to ‘drivers’ or ‘protocols’.

And regarding the original question, with your colleague’s extra info, I believe the issue could be indeed due to the asynchronous nature of the code you have.
DataMiner when it receives commands tries its best to validate the data that comes in to ensure data integrity but when it is not possible it returns errors such as the ones you saw to warn users of something that went wrong.

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

Web Applications exception in Cube due to invalid certificate 0 Answers | 0 Votes
Redundancy Groups and Alarming – Duplicate Alarms 0 Answers | 0 Votes
Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 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