Recovery
Store-and-forward
FIX Antenna follows two main rules:
- An outgoing message is saved to the file and then sent
- An incoming message is saved to the file after it is processed
There are two very important consequences of these rules that in combination with FIX sequencing and retransmission make losing a message in FIX Antenna impossible:
- If application crashes during the incoming message processing, it will not be stored, hence after restoring a session the sequence number too high will be identified and resend request will be sent.
- If application crashes before a message is delivered to a counter-party, the counter-party will identify a gap and send a request for retransmission after restoring a session.
Gap fill
Gap fill is a standard FIX mechanism designed to indentify and resolve message loss. It is based on sequencing messages in each direction, resend request mechanism, PosDup flag and sequence reset.
When session identifies the sequence number too high problem it sends a resend request
message asking for retransmission of lost messages. The opposite side resends requested
messages with PosDupFlag
set to Y
. Session level messages are not resent. The sequence
reset is used to keep sequence numbers consistent during resending.
FIX Antnenna automatically resolves gap fill, i.e. no manual work is required. However it is possible to intervernt into standard mechanism.
Fail-over
FIX Antenna comes with a basic failover mechanism. If application crashes after the next initialization FIX Antenna will fully restore its state as it was before the crash. No information will be lost.