# Resend Request Problem

**URL:** <https://forum.fixtrading.org/t/resend-request-problem/12843>\
**Category:** General Q&A\
**Tags:** imported, 44-changes, xid\_165388\
**Created:** [January 21, 2012, 1:24pm UTC](https://forum.fixtrading.org/t/resend-request-problem/12843 "2012-01-21T13:24:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![hdegirmenc\_x](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hdegirmenc\_x](https://forum.fixtrading.org/u/hdegirmenc_x)\
**Post date:** [January 21, 2012, 1:24pm UTC](https://forum.fixtrading.org/t/resend-request-problem/12843/1 "2012-01-21T13:24:50Z")

</div>

Imported from previous forum

---

<div class="post-metadata">

**Author:** ![hdegirmenc\_x](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hdegirmenc\_x](https://forum.fixtrading.org/u/hdegirmenc_x)\
**Post date:** [January 21, 2012, 1:24pm UTC](https://forum.fixtrading.org/t/resend-request-problem/12843/2 "2012-01-21T13:24:50Z")

</div>

Hi,  
My question is about Resend Request message. I have trouble with counterparty(accepter side. also, our engine is  
initiator side.)  
When our fix engine sends Resend Request, counterparty does not retransmit messages, it just sends Sequence Reset message with GapFillFlag=Y. By then, our fix engine could not fill the gap and it could not send any messages.  
When I declared this situation to counterparty, they replied me that their fix engine doesn’t persist some messages in db(performance issues!!), so it could not retransmit messages.  
Is there any solution to recover this problem? (p.s. project is in development phase)  
Thanks in advance.

---

<div class="post-metadata">

**Author:** ![lanfrancomorini](https://avatars.discourse-cdn.com/v4/letter/l/ba8739/32.png) [@lanfrancomorini](https://forum.fixtrading.org/u/lanfrancomorini)\
**Post date:** [January 23, 2012, 9:17am UTC](https://forum.fixtrading.org/t/resend-request-problem/12843/3 "2012-01-23T09:17:45Z")

</div>

Hi Haldun,  
as per FIX specs, a Sequence Reset is an allowed response to a Resend Request; if a counterparty has not applicative messages to resend, it can force a sequence reset with gapfillflag=Y avoiding a massive session messages resend…

quote FIX 4.4 specs VOL2 with errata  
“Sequence Reset (Gap Fill)  
[…]Gap Fill mode is used in response to a Resend Request when one or more messages must be skipped over for the  
following reasons:  
• During normal resend processing, the sending application may choose not to send a message (e.g. an aged  
order).  
• During normal resend processing, a number of administrative messages are skipped and not resent (such as  
Heart Beats, Test Requests).  
Gap Fill mode is indicated by GapFillFlag (tag 123) field = “Y”.  
[…]”

Hope that this helps,  
Lanfranco

> Hi,  
> My question is about Resend Request message. I have trouble with counterparty(accepter side. also, our engine is  
> initiator side.)  
> When our fix engine sends Resend Request, counterparty does not retransmit messages, it just sends Sequence Reset message with GapFillFlag=Y. By then, our fix engine could not fill the gap and it could not send any messages.  
> When I declared this situation to counterparty, they replied me that their fix engine doesn’t persist some messages in db(performance issues!!), so it could not retransmit messages.  
> Is there any solution to recover this problem? (p.s. project is in development phase)  
> Thanks in advance.

---

<div class="post-metadata">

**Author:** ![hdegirmenc\_x](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hdegirmenc\_x](https://forum.fixtrading.org/u/hdegirmenc_x)\
**Post date:** [January 23, 2012, 11:25am UTC](https://forum.fixtrading.org/t/resend-request-problem/12843/4 "2012-01-23T11:25:56Z")

</div>

But what about the replies of collateral assignment or registration instructions messages?(these are not aged orders and also we do not expect administrative messages)

For example, we send 1000 collateral assignment messages to the counterparty and we expect 1000 collateral responses. if our engine doesn’t parse(or receive) a collateral response message(say 535th message) then sends resend request for this message. but they could not respond it, they just send a sequence reset(because they do not persist collateral responses in their db), so our engine could not receive following collateral responses.

Is it an architecture problem of our counterparty?  
Any solution?

> Hi Haldun,  
> as per FIX specs, a Sequence Reset is an allowed response to a Resend Request; if a counterparty has not applicative messages to resend, it can force a sequence reset with gapfillflag=Y avoiding a massive session messages resend…
> 
> quote FIX 4.4 specs VOL2 with errata  
> “Sequence Reset (Gap Fill)  
> […]Gap Fill mode is used in response to a Resend Request when one or more messages must be skipped over for the  
> following reasons:  
> • During normal resend processing, the sending application may choose not to send a message (e.g. an aged  
> order).  
> • During normal resend processing, a number of administrative messages are skipped and not resent (such as  
> Heart Beats, Test Requests).  
> Gap Fill mode is indicated by GapFillFlag (tag 123) field = “Y”.  
> […]”
> 
> Hope that this helps,  
> Lanfranco
> 
> > Hi,  
> > My question is about Resend Request message. I have trouble with counterparty(accepter side. also, our engine is  
> > initiator side.)  
> > When our fix engine sends Resend Request, counterparty does not retransmit messages, it just sends Sequence Reset message with GapFillFlag=Y. By then, our fix engine could not fill the gap and it could not send any messages.  
> > When I declared this situation to counterparty, they replied me that their fix engine doesn’t persist some messages in db(performance issues!!), so it could not retransmit messages.  
> > Is there any solution to recover this problem? (p.s. project is in development phase)  
> > Thanks in advance.

---

<div class="post-metadata">

**Author:** ![hanno.klein](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.fixtrading.org/hanno.klein/32/38_2.png) [@hanno.klein](https://forum.fixtrading.org/u/hanno.klein)\
**Post date:** [January 23, 2012, 5:43pm UTC](https://forum.fixtrading.org/t/resend-request-problem/12843/5 "2012-01-23T17:43:43Z")

</div>

Your solution lies in a “bilateral agreement” which needs to be driven by the business requirements (and common sense). FIX provides gap fills for good reason but these may not make sense in your situation. It sounds like they do not. If you need confirmation for collateral assignments then your counterparty should make sure that you get them. Otherwise you have no choice but to solve it on the application layer by re-sending the assignments because the previous ones were not confirmed. Your session layer only cares about getting “all” messages which includes gap fills for those that are not actually resent. Your application layer then has to deal with the consequences of not getting relevant business content.  
Regards,  
Hanno.

> But what about the replies of collateral assignment or registration instructions messages?(these are not aged orders and also we do not expect administrative messages)
> 
> For example, we send 1000 collateral assignment messages to the counterparty and we expect 1000 collateral responses. if our engine doesn’t parse(or receive) a collateral response message(say 535th message) then sends resend request for this message. but they could not respond it, they just send a sequence reset(because they do not persist collateral responses in their db), so our engine could not receive following collateral responses.
> 
> Is it an architecture problem of our counterparty?  
> Any solution?
> 
> > Hi Haldun,  
> > as per FIX specs, a Sequence Reset is an allowed response to a Resend Request; if a counterparty has not applicative messages to resend, it can force a sequence reset with gapfillflag=Y avoiding a massive session messages resend…
> > 
> > quote FIX 4.4 specs VOL2 with errata  
> > “Sequence Reset (Gap Fill)  
> > […]Gap Fill mode is used in response to a Resend Request when one or more messages must be skipped over for the  
> > following reasons:  
> > • During normal resend processing, the sending application may choose not to send a message (e.g. an aged  
> > order).  
> > • During normal resend processing, a number of administrative messages are skipped and not resent (such as  
> > Heart Beats, Test Requests).  
> > Gap Fill mode is indicated by GapFillFlag (tag 123) field = “Y”.  
> > […]”
> > 
> > Hope that this helps,  
> > Lanfranco
> > 
> > > Hi,  
> > > My question is about Resend Request message. I have trouble with counterparty(accepter side. also, our engine is  
> > > initiator side.)  
> > > When our fix engine sends Resend Request, counterparty does not retransmit messages, it just sends Sequence Reset message with GapFillFlag=Y. By then, our fix engine could not fill the gap and it could not send any messages.  
> > > When I declared this situation to counterparty, they replied me that their fix engine doesn’t persist some messages in db(performance issues!!), so it could not retransmit messages.  
> > > Is there any solution to recover this problem? (p.s. project is in development phase)  
> > > Thanks in advance.
