Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [sparkplug-wg] Sparkplug B Sequence Requirement and Issues
  • From: Leland Falde <leland.falde@xxxxxxxxxxxxxxx>
  • Date: Thu, 20 Apr 2023 16:07:34 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=millerwelds.com; dmarc=pass action=none header.from=millerwelds.com; dkim=pass header.d=millerwelds.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=as6lORua1a+GQvnel4XBUMWROcdKhJBP/iJtm62fBns=; b=HvuOueQ5oq/KEi718Ts3Nz9ih0Wla0kMcw6TnAMEI1TobQI/tFmt3vqOp5y4dJxt3YsEcFQMKboTlVHUw6q13YWusj7LXoxMMfEO8vOOsY9jVXmT3CkB68TYQJIK+K2iK2Wsi2PM9mfr1OSUhBqxaK73cnzfthbUxVhnibmdALk2TjwjB9MR/LwJjK+47YvnSf4oXVfDqGUJQIrLqq6cdIsGfBkrhtXCzf9Y2eAkjbyyMuFS1hdVhFAzfl4TfUoCK9Lvt5Fwn652lz3GqK0zb6rsf1+Qrqs8qEA0FvNGJQGHpDigYdqnWjpodqMdP3xdk5coceun8QFoRjHp0l++XA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VSyrBs1ewQS9Qg/l1SFBBC9lN6I9sjr5/K/PFY/uxUgPUeB9XIJkI1DgnPzfSYTOf2iHYdG2vi/GF1ZBGPSTIN84IuKEL8R/OKtzMjL1kb608UPD3R5KzykEoFZCNhklkoRO3u+dbsMtpN0Vw7JXOy+lmaqkySdHv8HoLAd8LllqIdPdtlFninfwQBGskGr/4f3cHSWa5GhEquK0DNZysBQ9BB8k2Vbg0sUKzlslcW84u5DmNfh9c+HlTTDvbZTFrcVN2u69vxv+UG+z29qbDL3m4u4+HwYvtAXMxPt+PT/xKZCkHEuyPvccBNso1l5VFFKZBEKNq7ITyhYHODKjgA==
  • Delivered-to: sparkplug-wg@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/sparkplug-wg/>
  • List-help: <mailto:sparkplug-wg-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/sparkplug-wg>, <mailto:sparkplug-wg-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/sparkplug-wg>, <mailto:sparkplug-wg-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AdlyLaYX1dVWhGK7SWuZp/QFNYXwJwBdHBdA
  • Thread-topic: Sparkplug B Sequence Requirement and Issues

Upon further review, and not a surprise, the issue was discovered to be on my end.

 

Leland

 

From: Leland Falde
Sent: Wednesday, April 19, 2023 3:21 PM
To: sparkplug-wg@xxxxxxxxxxx
Subject: Sparkplug B Sequence Requirement and Issues

 

Good day!

 

I am having trouble guaranteeing that a message sent with the proper sequence number arrives at the primary application (Ignition) in the same sequence the message was sent.

 

I will be adding some logging to help confirm this…but here is my suspicion.

 

‘The 80’ of messages contain 1 – 3 changed metrics.

Our system aggregates a production event at event end into a single report with 100+ changed metrics.

Does a large payload take longer in transit to get from publisher to primary application?

Why is there a sequence requirement in the first place? Would be nice if the sequence could be enforced per device instead of at the node level. Having many device actors exacerbates this issue?

 

We can have anywhere from 1 to 50 device actors generating asynchronous events. Because of this issue, I’ve implemented an async FIFO queue that can be throttled.

 

  1. Has anyone experienced this issue?
  2. Would anyone willing to share their similar experience and any best practices?
  3. Is there a metric count that I should limit my messages to?
    1. I am leery to break up the message into smaller metric chunks due to unknown issues downstream with handling historian data writes. 
  4. Is there any way to guarantee that the messages sent with the proper sequence number is received and/or handled in the order they are sent?

 

com.cirruslink.common.sparkplug.util.exception.SequenceNumberException: For Group= ________________ - Message Sequence number ERROR: expected=61 but received=62
at com.cirruslink.mqtt.engine.gateway.sparkplug.SparkplugPayloadHandler.handleSeqNumberCheck(SparkplugPayloadHandler.java:401)
at com.cirruslink.mqtt.engine.gateway.sparkplug.SparkplugBPayloadHandler.onDeviceMessage(SparkplugBPayloadHandler.java:1467)
at com.cirruslink.mqtt.engine.gateway.sparkplug.SparkplugBPayloadHandler.handleDeviceData(SparkplugBPayloadHandler.java:1078)
at com.cirruslink.mqtt.engine.gateway.sparkplug.SparkplugPayloadHandler.handlePayload(SparkplugPayloadHandler.java:137)
at com.cirruslink.mqtt.engine.gateway.EngineCallback.lambda$messageArrived$1(EngineCallback.java:229)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

 

Leland D. Falde

Senior Software Developer, Insight Centerpoint™

 

Miller Electric Mfg. LLC  An ITW Welding Company

500 East Biddle Street, Jackson, MI 49201    Teams: call via Teams   Mobile: 517.745.4442

MillerWelds.com  │  Facebook  │  Twitter  │  YouTube

 

Disclaimer - This email and any files transmitted with it are confidential and may contain privileged or copyrighted information. You must not present this message to another party without first gaining permission from the sender. If you are not the intended recipient, you must not copy, print, distribute or use this email or the information contained in it for any purpose other than to notify us.

If you received this email in error, please notify the sender immediately and delete this email from your system. We do not guarantee that this email is free from viruses or any other defects although due care has been taken to minimize the risk.


Back to the top