Redundancy with Persistent Records

Hello,

I am currently working on the redundancy of a module.
In this module, I store data in a table within the internaldb (via persistent records).
These records are editable from the client during operation (components/functions scripts).
The data is naturally synchronized from the Master to the Backup.

However, when I switch to the Backup (active), modify the internaldb records using the client, and then switch back to the Master, the Backup's data is not synchronized, and the Master imposes its version of the internaldb.

It seems that the "Use Active Uptime to Resolve Conflicts" backup option does not affect the observed behavior.

I am therefore wondering what the best approach to follow is.
Should I handle this myself within the module? If so, how? Using the RedundancyManager, SyncManager, or ExecutionManager?
At what point should I intercept the failover using a RedundancyStateListener to prevent the Master from overwriting the Backup's data?

The general Ignition redundancy philosophy is that the configuration of a redundant backup is read only. Configuration data synchronization only happens in the master to backup direction.

The only exception is for historical data that is stored while the backup is active, which is what the setting you're referring to is about.

Your module should not allow configuration changes to occur on the backup while it's active.

3 Likes