Updating MsgSeqNo in case of failed data integrity check validation(Session-Level)

Imported from previous forum

Hi Everybody,
I have one query.
In case of any FIX.4.2 received request, if following cases occurs, We are sending logout message and disconnecting the socket connection with end client.
1. Invalid BodyLength
2. Invalid Checksum
3. Incorrect message structure
(i.e wrong seq. of beginstring,bodylength and msgtype)

         In above case, we are not updating the incoming seq.no in the database.
          Now, the query is ,
          1. Do we require to update incoming seq. no. in database.
          2. will above cases require session-level-reject response generation or only logout response is valid.
          In fix.4.2 document only 11 cases are define for session-level-rejection response generation.
           
           Waiting for your reply.
      Thanks in advance

[ original email was from Dean Kauffman - dean.kauffman@tradeweb.com ]
Nilesh,

The FIX specs are clear on this point - quoted from the section “Resend (session-level)” around page 27 in the version “FIX 4.2 with Errata 20010501”:

“Note: The receiving application should disregard any message that is garbled, cannot be parsed or fails a data integrity check [which includes all of the conditions you mention]. Processing of the next valid FIX message will cause detection of a sequence gap and a Resend Request will be generated. Logic should be included in the FIX engine to recognize the possible infinite resend loop, which may be encountered in this situation.”

In other words, you should not reply to the message, nor increment the sequence number, nor logout the session, nor disconnect. For followup with your counterparty you should report the error internally and log the message, reason and action taken.

Dean Kauffman

Hi Everybody, I have one query. In case of any FIX.4.2 received
request, if following cases occurs, We are sending logout message and
disconnecting the socket connection with end client.
1. Invalid BodyLength
2. Invalid Checksum
3. Incorrect message structure
(i.e wrong seq. of beginstring,bodylength and msgtype)

         In above case, we are not updating the incoming seq.no in
         the database. Now, the query is ,
          1. Do we require to update incoming seq. no. in database.
          2. will above cases require session-level-reject response
             generation or only logout response is valid. In fix.4.2
             document only 11 cases are define for session-level-
             rejection response generation.

           Waiting for your reply. Thanks in advance