Accepting a lower than expetced seq num if it's a retran request?

Imported from previous forum

[ original email was from Matthew Duffey - matthew.duffey@thomson.com ]
If I send a lower than expected seq number, whether it’s a heartbeat, a retran request or an application message, the other needs to disallow the message to be processed, correct? In other words, there is absolutely no exceptions to whether or not a side should accept a lower than expected seq num.?

[ original email was from John Prewett - jprewett@lavatrading.com ]
Hi Matthew,

This is an excerpt from the FIX.4.4 specification volume 2:

---
When the incoming sequence number does not match the expected number corrective processing is required. Note that the SeqReset-Reset message (used only to recover from a disaster scenario vs. normal resend request processing) is an exception to this rule as it should be processed without regards to its MsgSeqNum. If the incoming message has a sequence number less than expected and the PossDupFlag is not set, it indicates a serious error. It is strongly recommended that the session be terminated and manual intervention be initiated.
---

It is legal to receive a SequenceReset-reset with a low sequence number. You must process it without caring what sequence number the message has.
Furthermore, it is legal to receive any other message with a low sequence number provided that is has PossDupFlag=Y. Under this circumstance, you should simply discard the message.

I hope this helps.

John Prewett

If I send a lower than expected seq number, whether it’s a heartbeat, a
retran request or an application message, the other needs to disallow
the message to be processed, correct? In other words, there is
absolutely no exceptions to whether or not a side should accept a lower
than expected seq num.?