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

Fragmented messages in 10.2

Solved1.23K views22nd November 2022stream viewer
1
Arunkrishna Shreeder [SLC] [DevOps Advocate]4.00K 29th July 2022 0 Comments

Hi Dojo,

We noticed the following behavior in these 2 versions; could you please let me know why the message is fragmented in 10.2 ?
TIA 🙂

Arunkrishna Shreeder [SLC] [DevOps Advocate] Selected answer as best 22nd November 2022

2 Answers

  • Active
  • Voted
  • Newest
  • Oldest
1
Avatar photo
Jan Staelens [SLC] [DevOps Advocate]889 Posted 2nd August 2022 2 Comments

The connector in question (Generic Gestel) is a smart-serial TCP driver with a single parameter (next-param) in a response. I believe it is setup as a smart-serial 'client' (meaning it has an IP defined in the element configuration and not "Any", though it doesn't matter too much)

The default behavior for smart-serial with a single response 'next param' is that the incoming data is considered a stream of data split into several Frames. For this reason the logic in a smart-serial connector that needs to parse data should always be developed with 'cut-up' data in mind.

in older DataMiner versions there was a 50ms buffer time where SLPort would wait until no more data came from the device within 50ms before sending the data to SLProtocol as a single packet. In 10.0.0 [CU22], 10.1.0 [CU12], 10.2.3 this was changed to 0ms due to modern demands of other connectors regarding throughputs. 50ms was too slow for some of the modern project restrictions.

I verified the connector in question was not developed correctly with TCP streamed frames in mind. This is likely because in the past 50ms was maybe enough to let SLPort combine every frame into a single response for the connector to process. So during development and testing no issues were noticed. Though it's possible that occasionally the response did get split and it caused a parsing error. With the decrease to 0ms, the connector now receives every frame separately and so the connector will always cause parsing errors.

To fix this, the connector part that parses the response needs to be fixed so that it can buffer incoming frames until it recognizes a full response has been received before doing the current parsing logic.

Arunkrishna Shreeder [SLC] [DevOps Advocate] Selected answer as best 22nd November 2022
Fernando Ejarque [DevOps Advocate] commented 10th August 2022

First, the change in the SLPort process without any possibility of configuring the buffer behavior (0 ms or 50ms) is annoying because could have a huge impact on the older connector without an easy way to fix it.

If I understand well, with your proposed fix (buffer incoming frames) the recognition function will be relegated to a mechanism developed in a QAction by the developer instead of using the internal recognition functionalities provided by the response mechanism, right?

Thanks!

Avatar photo
Jan Staelens [SLC] [DevOps Advocate] commented 11th August 2022

Hello Fernando,
This will only impact a very low % of connectors. Only connectors using smart-serial in client mode, with TCP data and that have a single Response containing a single parameter of type “next param”.

The recognition function will remain working if the connector uses Headers and Trailers defined in XML in their responses (or defined a fixed length of bytes through XML). SLPort will then look for a header, wait for a trailer and send the right data to SLProtocol as a single package of data.

If the connector does not use headers or trailers, but a single Next Param response it’s basically asking SLPort to consider the data as a stream and send everything. All recognition logic should be getting done inside of the QAction at that point.

0
Mieke Dryepondt [SLC] [DevOps Advocate]3.58K Posted 2nd August 2022 0 Comments

Hi
Would it be possible to provide some more info about how the driver is defined?

I assume this is smart serial?

This will help the search of what might be the reason the change in behavior of the software. For example it could be that a fix was done in 10.2 leading a badly defined driver that happened to work due to a bug, now fails.

I am most interested in the Response structure and the params it includes.

Thanks!

Mieke Dryepondt [SLC] [DevOps Advocate] Answered question 2nd August 2022
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