Available in release 4.0.17 onward

When a Transmitter is configured to use an MQTT Transmission History Store, data is written to the History Store once MQTT Transmission has determined that there is a connection failure which can be up to 1.5 times the configured keep alive. As such any data published during this time can be lost.

In order to cover data loss during a keep alive timeout scenario, the MQTT Transmission History Store includes a Rolling History Buffer that can be configured in the Advanced Properties configuration section. When the Rolling History Buffer is enabled, all tag changes will be written to the History Store regardless of connection status.

The Metrics Stored tag for the History Store will update as data is written to and pruned from the Rolling History Buffer. 

The In-Order History configuration parameter of the Transmitter will determine whether the data is flushed in-order (synchronously) or asynchronously.


Data stored in the Rolling History Buffer for an In-Memory History Store will not be persisted across a module configuration change, module disable/enable, module restart or power loss. 

Data stored in the Rolling History Buffer for a Disk-Backed History Store will persist across a module configuration change, module disable/enable, module restart or power loss however you will lose change events that occur during the update or refresh.


  • Enable Rolling History Buffer
    • Enable the Rolling History Buffer to store data in a rolling buffer to cover data loss in a keep alive timeout scenario
  • Rolling History Prune Interval
    • Interval at which to attempt to prune the rolling history buffer in seconds
  • Rolling History Max Age
    • The maximum age allowed of the data in the rolling history buffer in seconds
    • All data older than the Max Age will be pruned at each prune interval
  • Rolling History Prune Quantity (Deprecated in release 4.0.19)


It can take MQTT Transmission 1.5 times the configured Server Keep Alive time to determined that there is a connection failure. The Rolling History Max Age should be at least 2x the Transmitter Server Keep Alive timeout to ensure that all tag change events are captured during this period. 


Using this feature may result in duplicate tag change event data being reported to Ignition as there is the potential for the publish of historical data that was previously successfully received. This will generate errors reported by the StoreAndForward.Sink.HsqlDataStore.DatasourceForwardTransaction logger when inserting the data into a database. These are benign errors and will not result in data loss.


Dependent on the configuration values and the frequency of tag change data, system performance may be impacted when using the Rolling History Buffer
  • No labels