Imported from previous forum
Hi,
I’m having an argument with a sellside about the following recovery logic:
When I login, sellside sends:
-> 35=A 34=5
<- In this sample I missed one message and my engine is expecting 34=4, thus I’m sending a resend request with BeginSeqNo=4 EndSeqNo=0
-> sellside responds with missed message 4
-> Now I would expect that sellside sends SequenceReset with MsgSeqNum=5 and NewSeqNo=6
Sellside is arguing that he can’t do that because the Logon message already had MsgSeqNum=5 and it would be incorrect to send the same MsgSeqNum again.
Sellside is saying that my engine should simply continue processing after I received the missed message, since he sent the missing message (4) and I already know (5) from the logon and thus everything should be in sync and I should continue processing.
Who is correct?
Thanks,
Tom
John, thanks a lot for your reply, your explanation makes complete sense
Hi Tom,
A ResendRequest “thru infinity” as you are requesting here says:
"Please resend me EVERYTHING from the specified sequence number thru the highest sequence number that exists.
That means that all sequence numbers 4 and higher should be resent with PossDupFlag=Y. In the case of resending a FIX admin message, such as a Logon message, a SequenceReset-Gap fill message should be used.So you are correct, all messages should be resent with PossDupFlag=Y indicating these are resent messages and any admin messages should be gap-filled as appropriate.
Thanks
JohnP
Hi,
I’m having an argument with a sellside about the following recovery logic:
When I login, sellside sends:
→ 35=A 34=5
← In this sample I missed one message and my engine is expecting 34=4, thus I’m sending a resend request with BeginSeqNo=4 EndSeqNo=0
→ sellside responds with missed message 4
→ Now I would expect that sellside sends SequenceReset with MsgSeqNum=5 and NewSeqNo=6Sellside is arguing that he can’t do that because the Logon message already had MsgSeqNum=5 and it would be incorrect to send the same MsgSeqNum again.
Sellside is saying that my engine should simply continue processing after I received the missed message, since he sent the missing message (4) and I already know (5) from the logon and thus everything should be in sync and I should continue processing.Who is correct?
Thanks,
Tom