{{Quickfixn}} Incoming MsgSeqNum of SeqReset messages are not ignored.

Kevin Carlton kcarlton at k2.ca
Thu Aug 20 11:50:34 PDT 2015


Currently,  an exception is thrown and a logout occurs if the MsgSeqNum of a SeqReset message is too low.
The FIX.4.2 Spec states for SeqReset messages: Ignore the incoming sequence number. The NewSeqNo field of the SeqReset message will contain the sequence number of the next message to be transmitted.

The scenario where I run into a problem is:

Connection between parties is disrupted for whatever reason and we have missed messages. Let's say we missed 10 messages.

Send Login with MsgSeqNum 1000
Receive Login with  MsgSeqNum 1500
Send ResendRequest  MsgSeqNum 1001 BeginSeqNo 1490

We receive the 10 missed messages 1490-1499.
We the receive a SequenceReset with MsgSeqNo 1500 and newSeqNo 1502

This MsgSeqNo of 1500 was also used as the login.
This causes an exception to be thrown ("MsgSeqNum too low") and a logout to occur.
I realize it is strange to be sending a duplicated MsgSeqNo without the PossDupFlag set, but according to the FIX spec they are not in the wrong, and the MsgSeqNum should be ignored in this case.

Am I correct in my interpretation that this exception should not be thrown?  The message should be checked to see if it is type 4, and not thrown if this is the case.

Thanks,

Kevin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20150820/e63e5b34/attachment-0001.htm>


More information about the Quickfixn mailing list