You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

It is not uncommon for horizontally scalable/clustered MQTT Servers to not support guaranteed in order delivery of QoS 0 messages and this custom property allows the 're-ordering' of messages that arrive out of order.

Feature is supported for Ignition7 in MQTT Engine module version 3.4.10 or greater and for Ignition8 in MQTT Engine module 4.0.4 or greater

How It Works

MQTT Engine needs to process messages from Sparkplug Edge Nodes in order. If MQTT Engine receives a message with an out of order sequence number, the message is buffered and the reorderingTimeout timer is started.

If the expected sequence number does not come in before the reorderingTimeout expires, all buffered data is flushed and a rebirth is requested.

If the expected sequence number does arrive before the reorderingTimeout expires, the data in the buffer is processed until the next expected sequence number message is missing, when the reorderTimeout timer is restarted.

If the buffered data is flushed, then any history associated with that data will be lost.

Usage

  1. On the MQTT Engine 'General' configuration tab, under the Advanced section, set 'Custom Properties' to be the following string: { "reorderingTimeout" : xxxx } where xxxx represents the timeout in milliseconds. For example, the configuration below sets the reorderingTimeout to 3 seconds

  • No labels