Skip to content
English
  • There are no suggestions because the search field is empty.

Ignition Module Store And Forward Capability

The module integrates with Ignition's native Store and Forward system to ensure tag history data is not lost when Timebase is temporarily unreachable.

Overview

The module integrates with Ignition's native Store and Forward system to ensure tag history data is not lost when Timebase is temporarily unreachable. When Timebase is down or experiencing network issues, incoming data is buffered in Ignition's Store and Forward memory store. When Timebase recovers, the buffer drains automatically and all buffered data is delivered without any manual intervention.

You do not need to configure Store and Forward separately — it is wired up automatically for every Timebase historian provider instance.

How It Works

Data flows through two internal bridges that connect Ignition's Store and Forward pipeline to the module's write engine:

Ignition Tag Data

TagHistoryStorageEngineBridge ← ingest: routes live data into Store and Forward

[Store and Forward buffer] ← data held here if Timebase is unreachable

TagHistoryDataSinkBridge ← drain: delivers buffered data to Timebase when ready

TimebaseStorageEngine ← actual write to Timebase via REST API

The ingest bridge accepts data from Ignition's historian framework and puts it into the Store and Forward queue. The drain bridge pulls data out of the queue and sends it to Timebase. The drain bridge only becomes active when the module has confirmed that Timebase is reachable.

Health Monitoring and Automatic Recovery

The module continuously monitors the health of the Timebase connection using a background health monitor. This directly controls whether the drain bridge is open or closed:

  • Timebase reachable → drain bridge is open (data flows from buffer to Timebase)
  • Timebase unreachable → drain bridge is closed (data stays in buffer)

At startup, the module performs an immediate health probe before opening the drain bridge. If Timebase is unreachable at startup, data buffers immediately from the first tag write — no data is lost to a race condition.

During normal operation, the health monitor polls every 5 seconds when the backend is known to be unreachable, probing a lightweight endpoint to detect recovery. When a successful response is received, the drain bridge opens and buffered data flows to Timebase in the order it was collected.

What Happens During an Outage

When Timebase becomes unreachable:

  1. The first failed write attempt marks the backend as unhealthy.
  2. The drain bridge closes — no further write attempts are made until recovery is confirmed.
  3. Incoming tag data from Ignition continues to arrive and accumulates in the Store and Forward memory store.
  4. The health monitor polls every 5 seconds in the background.

When Timebase recovers:

  1. A health probe succeeds and the backend is marked healthy.
  2. The drain bridge opens.
  3. Buffered data drains to Timebase in chronological order.
  4. Normal real-time writes resume.

The entire recovery is automatic. No action is required from the operator.

Buffer Capacity

Buffered data is held in Ignition's Store and Forward memory store. The memory store's capacity is determined by Ignition's Store and Forward configuration, not by the Timebase module. By default, Ignition imposes a memory limit on the Store and Forward buffer. If the buffer fills before Timebase recovers, older data may be discarded to make room for newer data.

Tip: For long outage scenarios where data retention is critical, configure Ignition's Store and Forward to use a disk-backed store with a larger capacity. Refer to Ignition's Store and Forward documentation for details.

Error Logging During Outages

The module throttles write error logging during sustained outages to prevent the Ignition gateway log from being flooded. After the first error is logged, subsequent repeated errors are suppressed until the backend recovers or the error type changes. When the backend recovers, a single recovery message is logged.

Troubleshooting

Symptom Likely cause What to do
Gaps in Timebase data during a known Ignition restart Module sent shutdown nulls but Store and Forward did not drain before shutdown This is expected. Planned restarts can leave a brief gap. The gap is marked with quality 28 (Bad_Shutdown), not lost as unknown data.
Data from an outage period is never delivered Ignition's Store and Forward buffer was exhausted Check the Store and Forward configuration in Ignition. Consider enabling a disk-backed store for longer outage tolerance.
Gateway logs show repeated write errors Timebase is unreachable and the health monitor has not declared recovery yet Verify Timebase is running and reachable from the Ignition Gateway host. Check the Timebase server logs. The module will recover automatically when connectivity is restored.
After recovery, data arrives in Timebase out of order Buffered data from multiple outage periods is draining together This is expected during drain. Timebase stores all data with timestamps — late-arriving historical data is stored at its original timestamp, not as new data. Charts will display it correctly.
Store and Forward drain bridge shows as STARTED but not ACCEPTING in Ignition diagnostics Timebase was unreachable at startup The drain bridge opens only after the first successful health probe. Wait for Timebase to become reachable — the bridge will transition to ACCEPTING automatically.