I had connectivty issues from my Client to a Server. The server requested a resend twice in a short period with 35=2. The resend start SeqNum rquested contained the same NewSingleOrder (35=D) both times.
The server accepted the order of the first resend, but rejected the second. Therefore I received a Pending New (and eventual Fill) and a Reject for the same OrderID.
I feel that getting sent a reject for a dup (43=Y) order that the Server already accepted is incorrect.
Can someone please clarify whether this is the correct response or not
How was the second order rejected? Reject(35=2) message with SessionRejectReason(373) or ExecutionReport(35=8) message with OrdRejReason(103)? What was the reject reason provided?
Sounds interesting…looks like OrdRejReason(103) is not being used. My guess is that the duplicate check did not identify the order as a duplicate. Due to PossDupFlag(43)=Y, the FIX engine should not have passed the message to the application layer a second time. I assume you (correctly) did not issue a new sequence number when retransmitting the requested messages.