Store and Forward Engine on Storage only

Hey there, after upgrading an ignition edge instance from 8.1 to 8.3 I got an error regarding the edge historian engine. Under the Store and Forward Engines menu, the edge historian status displays “storage only“. The Gateway logs for the edge historian engine give me the info:

Skipping validation for maintenance policy eviction. {policyIsEvict = false, storeOrSinkTaskRunning = false}

Except the historian sync to the main gateway, everything works fine. Is there a way to activate the task?

The “Storage Only” status means that after upgrading from 8.1 to 8.3. The edge device is holding data locally and because it may be having issue syncing the data to the main gateway. This could be caused by a number of reasons:

  • such as the historian sync not being enabled
  • firewalls blocking data moving from the edge to standard gateway.
  • forward settings changing e.g. maintenance settings

My recommendation would be first to first make sure there is no change in you firewall policy preventing data syncing up.

Then you can also check and make sure sync setting are enabled from edge to the standard gateway.

If all the above is fine, then you can modify the maintenance policy that are in the advanced settings of the store and forward settings related to data eviction and maintenance policy.

You can also try restarting both systems.

Actually, I want to jump in here and clarify how this works on Edge specifically, as the status screen can be quite misleading in 8.3.

The "Storage Only" status you are seeing is actually expected behavior and does not indicate that your sync to the central gateway is broken.

Here is the technical breakdown of what is happening:

  1. Tag History Bypasses Store & Forward

On Edge, standard Tag History storage does not go through the Store and Forward engine. Instead, history is written directly to the Edge Historian, which is backed by an internal SQLite database. Because this database is local and always readily available, there is no need for the "Store and Forward" mechanism to buffer or manage this data flow during normal operation.

  1. Why the Store & Forward Engine Exists (Backward Compatibility)

You still see a Store and Forward engine running because we maintain a bridge data sink for backward compatibility. This engine is only strictly necessary for specific legacy scenarios, such as:

• Using the legacy system.tag.storeTagHistory scripting function.

• An 8.1 system attempting to remote store to this 8.3 system.

In these specific cases, the data enters the Store and Forward system, which acts as a bridge to write it back to the Edge Historian. The "Storage Only" status simply means this legacy bridge is successfully connected to the local database.

  1. Edge Sync is a Separate Process

Crucially, Edge Data Sync does not use Store and Forward. Syncing is a completely separate process where a routine task pulls data from the Edge Historian and pushes it to your remote gateway. Since this happens outside the Store and Forward engine, the "Storage Only" status has no bearing on whether your data is successfully making it to the central gateway.

Regarding the Log:

The message “Skipping validation for maintenance policy eviction…” refers to the maintenance of S&F memory/disk buffers. Since your standard tag history is writing directly to the Edge Historian (bypassing S&F), data is not queuing up in these buffers, making this validation irrelevant. You can safely ignore this log.

Checking Sync Status:

We currently do not have a dedicated status screen specifically showing Edge Sync availability, though we have an internal ticket to add this visibility to Edge in the near future. For now, please disregard the S&F status and focus on network connectivity or logs specific to the Edge Sync task.

3 Likes

@anjoroge , @Kurt.Larson Thank you for the reply and the detailed explanation. That makes it easier for me to understand.

After trying some different network configurations the two gateways worked correctly again.

Regarding this subject I still have one more question for clarification.

On the edge gateway under Platform > System > Store & Forward, the listed edge historian engine status details are all 0 (store rate, forward rate, pending, ...).

On the main ignition gateway under Platform > System > Store & Forward, the edge db engine lists working store- and forward rates.

What process does the edge_db engine on the main ignition gateway describe?

That is a great observation and it perfectly illustrates the architectural difference I mentioned.

Here is the breakdown of why those metrics look different on each side:

1. On the Edge Gateway (Metrics are 0)

As you noted, the Store & Forward metrics (store rate, forward rate, etc.) are all 0.

This confirms exactly what I described earlier: because standard tag history on Edge writes directly to the internal SQLite database (bypassing the Store & Forward engine entirely), that engine is effectively sitting idle. It isn't processing any data, so all its counters remain at zero.

2. On the Main Gateway (Metrics are Active)

The behavior changes once the data reaches your Main Gateway. The “edge_db” engine you see there is almost certainly associated with a SQL Historian provider.

When the sync process pushes history data from Edge to Main, the Main Gateway has to store it into your final destination database (e.g., MySQL, MSSQL, Postgres). Unlike the internal provider on Edge, a SQL Historian utilizes the Store & Forward system to ensure data safety.

  • It shows active rates because data is actually flowing through it to reach the SQL database.

  • It utilizes buffers to protect against data loss if the connection to the external SQL database is interrupted or the database goes offline.

So in summary: Edge uses an internal provider that skips S&F (direct write), while Main uses a SQL Historian provider which relies on S&F to safely offload that data to your external database.

3 Likes