Imported from previous forum
[ original email was from Corwin Yu - cyu@sasiny.com ]
All,
We have a scenario where :
Client has experiences a connectivity failure… then:
1 - Client Logs on with mismatched sequence numbers(4.2)
2 - Server sends Resend Request
3 - Client sends Resend Request
4 - Client sends new order singles without responding the resend
(The previous messages happen all in the same second)
Should the client wait for the response of the resend first? Or is it ok to send orders first.
Regards,
Corwin
Hi,
Such a Typical Line Down Scenario, where the Logon itself is out of sequence(logon should be processed ir-respective of sequence), should be handled as follows.
---- LINE DOWN —
1.) Client Sends a Logon to Resume with no 141=Y and Rolling Sequence Number (Last Session + 1)
2.) Server would send a Logon ACK Back either also with Rolling Sequence Number (May be what the client expects, if the client has not lost any messages in previous session, or may be higher, which means data loss has occurred both ways)
3.) Now at this Point, the Server will send a resend request, to bridge the gap, and so would the client. But To Control this Flow, the Client Application should be in such a way that it first sends out all the resend replies and gapfills, as requested by the Server.
4.) Some Servers Start Sending the Client Requested Resend Replies, when the client has only finished the gap, and some others start answering the client, as soon as the client starts answering the server’s gap.
Its Best for the Client Application to Stop Sending ALL Normal Outbound Messages, and try to fill the gap requested by the Server, then expect gap messages from the Server, before resuming the Normal Outward Channel.
Hope this helps…
All,
We have a scenario where :
Client has experiences a connectivity failure… then:
1 - Client Logs on with mismatched sequence numbers(4.2) 2 - Server
sends Resend Request 3 - Client sends Resend Request 4 - Client sends
new order singles without responding the resend(The previous messages happen all in the same second)
Should the client wait for the response of the resend first? Or is it ok
to send orders first.Regards, Corwin
Hi,
Such a Typical Line Down Scenario, where the Logon itself is out of
sequence(logon should be processed ir-respective of sequence), should be
handled as follows. […]
Its Best for the Client Application to Stop Sending ALL Normal
Outbound Messages, and try to fill the gap requested by the Server,
then expect gap messages from the Server, before resuming the Normal
Outward Channel.
Therefore, the spec recommends to send a TestRequest immediately after the Logon to allow for resend processing.
Cheers, Jörg
I actually have a problem with this “recommend” way, a more detail description of the problem can be seen on :
http://www.fixprotocol.org/discuss/read/93483676
Therefore, the spec recommends to send a TestRequest immediately after
the Logon to allow for resend processing.Cheers, Jörg