Store and Forward (SaF)
As already addressed in the Internal data transfer page, for the transfer of historical data between Nodes as well as between a Node and a MongoDB repository the Store and Forward (SaF) sub-system is used. To prevent data loss in case of a temporary unavailability of the next Node on its route to the destination, data is buffered on each Node it reaches, so that it can be forwarded once the next node is available again.
The following categories of data is buffered by the SaF system:
-
Log messages
Configuration
The SaF sub-system can be configured in the Node’s Store and Forward Retention Method property compound.
| Using persisted buffering is recommended in all scenarios. RAM is a much more crucial resource than hard disk space, and obviously, a RAM-based buffer does not survive a process restart. |
Four different retention methods are available:
| Retention Method | Volatile? | Description |
|---|---|---|
Size Limited on Hard Disk (default) |
persistent |
Data is buffered on the hard disk persistently until the configured absolute size limit is reached. |
Relative Size Limited on Hard Disk |
persistent |
Data is buffered on the hard disk persistently until the configured percentage of the hard disk’s absolute capacity is reached. |
Time Limited on Hard Disk |
persistent |
Data is buffered on the hard disk persistently. If its source time-stamp is older then the current time minus the configured retention period, it will be dropped. There is no overall size limit of the persistent buffer in this configuration. |
Main Memory |
volatile |
Realtime data and log messages are buffered in main memory until the configured maximum buffer size is reached. Then old data is purged to make room for new data |
The limits are checked in 30 second intervals. If the SaF sub-system detects that a limit is reached, it starts deleting data from the persistent store and issues a warning message. For Retention Methods based on size limits, the Retain Mode property determines whether old or new data is dropped when the size limit is reached.
| Size limits maybe lower than requested if the hard disk does not provide enough free space. If space is freed later, the limit will be recalculated. |
|
Configuration Changes
The configuration of the SaF sub-system can be changed at any time. Changing the limits of persistent configurations may result in data being dropped to fulfill the new size constraints. Changing from a persistent buffer configuration to the Main Memory configuration will result in one of the following:
Changing from the Main Memory configuration to a persistent buffer configuration will always drain the volatile buffer in parallel with the persistent buffer which will receive new data. |