Resend Request too many times in a short period

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Resend Request too many times in a short period

CedricZ
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi,

 

I have encountered a problem that my FIX engine kept sending resend request.

The frequency was very scary. It sent more than once in a second.


I checked the log and found my time was ahead the broker, for example 06:13:35.909 vs 06:13:35.881.

Is this the reason cause this problem?

How do I avoid this problem happen again?

Is there any settings that I can change the frequency of resend request?

 

---

Logs

8=FIX.4.3|9=76|35=2|34=3857|49=CLIENT|50=FX|52=20170207-06:13:35.909|56=BROKERTRADE|7=3899|16=0|10=113|

8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:12.957|369=3857|37=213310565|11=S10_20170207_004P_02_001|

17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=069|

8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.331|369=3857|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|

17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=126|

8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.340|369=3857|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|

17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=136|

 

8=FIX.4.3|9=76|35=2|34=3858|49=CLIENT|50=FX|52=20170207-06:13:36.190|56=BROKERTRADE|7=3899|16=0|10=107|

8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.158|122=20170207-06:13:12.957|369=3858|37=213310565|11=S10_20170207_004P_02_001|

17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=068|

8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.158|122=20170207-06:13:35.331|369=3858|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|

17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=125|

8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.159|122=20170207-06:13:35.340|369=3858|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|

17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=136|

 

8=FIX.4.3|9=76|35=2|34=3859|49=CLIENT|50=FX|52=20170207-06:13:36.455|56=BROKERTRADE|7=3899|16=0|10=112|

8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:12.957|369=3859|37=213310565|11=S10_20170207_004P_02_001|

17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=065|

8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.331|369=3859|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|

17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=122|

8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.340|369=3859|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|

17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=132|

 

8=FIX.4.3|9=76|35=2|34=3860|49=CLIENT|50=FX|52=20170207-06:13:36.737|56=BROKERTRADE|7=3899|16=0|10=107|

8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:12.957|369=3860|37=213310565|11=S10_20170207_004P_02_001|

17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=055|

8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.331|369=3860|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|

17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=112|

8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.340|369=3860|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|

17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=122|

 

8=FIX.4.3|9=76|35=2|34=3861|49=CLIENT|50=FX|52=20170207-06:13:37.018|56=BROKERTRADE|7=3899|16=0|10=101|

8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:12.957|369=3861|37=213310565|11=S10_20170207_004P_02_001|

17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=071|

8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.331|369=3861|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|

17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=128|

8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.340|369=3861|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|

17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=138|

 

Thanks a lot.

 

Regards,

Cedric

 

 


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Resend Request too many times in a short period

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

there is no setting to change the frequency of resend requests. When a message is missing then it
needs to be re-requested.
I don't think that the minimal time difference causes a problem. IIRC the default maximum latency is
2 seconds. If it is exceeded, the session is getting logged out.

 From the log it seems that QFJ did not realise that the resend request has been satisfied. That's
why it was re-requesting the same messages over and over (as soon as a message with a higher seqnum
came in).
Which version of QFJ are you using?
Could you please also post your event logs?

Thanks,
Chris.


On 10/02/17 08:08, Cedric Zeng wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
>
>
> Hi,
>
> I have encountered a problem that my FIX engine kept sending resend request.
>
> The frequency was very scary. It sent more than once in a second.
>
>
> I checked the log and found my time was ahead the broker, for example 06:13:35.909 vs 06:13:35.881.
>
> Is this the reason cause this problem?
>
> How do I avoid this problem happen again?
>
> Is there any settings that I can change the frequency of resend request?
>
> ---
>
> *Logs*
>
> 8=FIX.4.3|9=76|*35=2*|34=3857|49=CLIENT|50=FX|52=20170207-06:13*:35.909*|56=BROKERTRADE|7=3899|16=0|10=113|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:*35.881*|122=20170207-06:13:12.957|369=3857|37=213310565|11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=069|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.331|369=3857|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=126|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.340|369=3857|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=136|
>
> 8=FIX.4.3|9=76|*35=2*|34=3858|49=CLIENT|50=FX|52=20170207-06:13:*36.190*|56=BROKERTRADE|7=3899|16=0|10=107|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:*36.158*|122=20170207-06:13:12.957|369=3858|37=213310565|11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=068|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.158|122=20170207-06:13:35.331|369=3858|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=125|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.159|122=20170207-06:13:35.340|369=3858|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=136|
>
> 8=FIX.4.3|9=76|*35=2*|34=3859|49=CLIENT|50=FX|52=20170207-06:13:*36.455*|56=BROKERTRADE|7=3899|16=0|10=112|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:*36.433*|122=20170207-06:13:12.957|369=3859|37=213310565|11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=065|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.331|369=3859|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=122|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.340|369=3859|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=132|
>
> 8=FIX.4.3|9=76|*35=2*|34=3860|49=CLIENT|50=FX|52=20170207-06:13:*36.737*|56=BROKERTRADE|7=3899|16=0|10=107|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:*36.710*|122=20170207-06:13:12.957|369=3860|37=213310565|11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=055|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.331|369=3860|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=112|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.340|369=3860|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=122|
>
> 8=FIX.4.3|9=76|*35=2*|34=3861|49=CLIENT|50=FX|52=20170207-06:13:*37.018*|56=BROKERTRADE|7=3899|16=0|10=101|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:*36.986*|122=20170207-06:13:12.957|369=3861|37=213310565|11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151=0|14=0|6=0|60=20170207-06:13:12.957|10=071|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.331|369=3861|37=213310568|11=S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=128|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.340|369=3861|37=213310569|11=S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|10=138|
>
> Thanks a lot.
>
> Regards,
>
> Cedric
>
>
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com
> ______________________________________________________________________
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>
>
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SPAM: Re: Resend Request too many times in a short period

CedricZ
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi Christoph,

Our QFJ version is 1.6.0.
The event logs are here.
>From what I saw, the messages also kept looping.
The FIX engine received 3900 & 3901 first and complained about them. Then it sent Resend Request twice again (go into a loop).
After it received the 3rd message, the Resend Request has been satisfied.
I have 2 questions:
        From the original messages, the order was 3899, 3900, 3901(the timing are the same). I don't know why it received 3900 first in the event log.
        The Resend Request was from 3899 to 3899, why did it received from 3899 to 3901?

How should I solve this problem?
Should I talk to my broker about this question? Can they solve is from their side?

---
Logs
8=FIX.4.3|9=76|35=2|34=3857|49=CLIENT|50=FX|52=20170207-06:13:35.909|56=BROKERTRADE|7=3899|16=0|10=113|
8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:12.957|369=3857|37=213310565|...
8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.331|369=3857|37=213310568|...
8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.340|369=3857|37=213310569|...

event logs
20170207-06:13:35: MsgSeqNum too high, expecting 3899 but received 3900: 8=FIX.4.3|9=253|35=8|34=3900|49=BROKERTRADE|52=20170207-06:13:35.331|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Enqueued at pos 3900: 8=FIX.4.3|9=253|35=8|34=3900|49=BROKERTRADE|52=20170207-06:13:35.331|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Sent ResendRequest FROM: 3899 TO: 3899

20170207-06:13:35: MsgSeqNum too high, expecting 3899 but received 3901: 8=FIX.4.3|9=274|35=8|34=3901|49=BROKERTRADE|52=20170207-06:13:35.340|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Enqueued at pos 3901: 8=FIX.4.3|9=274|35=8|34=3901|49=BROKERTRADE|52=20170207-06:13:35.340|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Already sent ResendRequest FROM: 3899 TO: 3899.  Not sending another.

20170207-06:13:35: ResendRequest for messages FROM 3899 TO 3899 has been satisfied.

20170207-06:13:35: java.lang.StringIndexOutOfBoundsException: String index out of range: 24
quickfix.RuntimeError: java.lang.StringIndexOutOfBoundsException: String index out of range: 24
        at quickfix.Session.next(Session.java:1090)
        at quickfix.Session.next(Session.java:1109)
        at quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:148)
        at quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:90)
        at quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEventHandlingStrategy.java:129)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 24
        at java.lang.String.substring(Unknown Source)
        at algo_SAXO.GMC_AlgoEngine.Update_OrderBook_Canceled(GMC_AlgoEngine.java:3746)
        at algo_SAXO.TradeAppInitiator_SAXO.onMessage(TradeAppInitiator_SAXO.java:711)
        at quickfix.fix43.MessageCracker.crack43(MessageCracker.java:1066)
        at quickfix.fix43.MessageCracker.crack(MessageCracker.java:974)
        at algo_SAXO.TradeAppInitiator_SAXO.fromApp(TradeAppInitiator_SAXO.java:94)
        at quickfix.Session.fromCallback(Session.java:1731)
        at quickfix.Session.verify(Session.java:1682)
        at quickfix.Session.verify(Session.java:1746)
        at quickfix.Session.next(Session.java:982)
        ... 5 more


Appreciate your help.

Regards,
Cedric

-----Original Message-----
From: Christoph John [mailto:[hidden email]]
Sent: February 10, 2017 4:08 PM
To: [hidden email]
Subject: SPAM: Re: [Quickfixj-users] Resend Request too many times in a short period

QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

there is no setting to change the frequency of resend requests. When a message is missing then it needs to be re-requested.
I don't think that the minimal time difference causes a problem. IIRC the default maximum latency is
2 seconds. If it is exceeded, the session is getting logged out.

 From the log it seems that QFJ did not realise that the resend request has been satisfied. That's why it was re-requesting the same messages over and over (as soon as a message with a higher seqnum came in).
Which version of QFJ are you using?
Could you please also post your event logs?

Thanks,
Chris.


On 10/02/17 08:08, Cedric Zeng wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
>
>
> Hi,
>
> I have encountered a problem that my FIX engine kept sending resend request.
>
> The frequency was very scary. It sent more than once in a second.
>
>
> I checked the log and found my time was ahead the broker, for example 06:13:35.909 vs 06:13:35.881.
>
> Is this the reason cause this problem?
>
> How do I avoid this problem happen again?
>
> Is there any settings that I can change the frequency of resend request?
>
> ---
>
> *Logs*
>
> 8=FIX.4.3|9=76|*35=2*|34=3857|49=CLIENT|50=FX|52=20170207-06:13*:35.90
> 9*|56=BROKERTRADE|7=3899|16=0|10=113|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20
> 170207-06:13:*35.881*|122=20170207-06:13:12.957|369=3857|37=213310565|
> 11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151
> =0|14=0|6=0|60=20170207-06:13:12.957|10=069|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20
> 170207-06:13:35.881|122=20170207-06:13:35.331|369=3857|37=213310568|11
> =S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=
> 2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=126|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20
> 170207-06:13:35.881|122=20170207-06:13:35.340|369=3857|37=213310569|11
> =S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=
> 3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|1
> 0=136|
>
> 8=FIX.4.3|9=76|*35=2*|34=3858|49=CLIENT|50=FX|52=20170207-06:13:*36.19
> 0*|56=BROKERTRADE|7=3899|16=0|10=107|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20
> 170207-06:13:*36.158*|122=20170207-06:13:12.957|369=3858|37=213310565|
> 11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151
> =0|14=0|6=0|60=20170207-06:13:12.957|10=068|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20
> 170207-06:13:36.158|122=20170207-06:13:35.331|369=3858|37=213310568|11
> =S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=
> 2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=125|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20
> 170207-06:13:36.159|122=20170207-06:13:35.340|369=3858|37=213310569|11
> =S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=
> 3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|1
> 0=136|
>
> 8=FIX.4.3|9=76|*35=2*|34=3859|49=CLIENT|50=FX|52=20170207-06:13:*36.45
> 5*|56=BROKERTRADE|7=3899|16=0|10=112|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20
> 170207-06:13:*36.433*|122=20170207-06:13:12.957|369=3859|37=213310565|
> 11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151
> =0|14=0|6=0|60=20170207-06:13:12.957|10=065|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20
> 170207-06:13:36.433|122=20170207-06:13:35.331|369=3859|37=213310568|11
> =S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=
> 2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=122|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20
> 170207-06:13:36.433|122=20170207-06:13:35.340|369=3859|37=213310569|11
> =S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=
> 3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|1
> 0=132|
>
> 8=FIX.4.3|9=76|*35=2*|34=3860|49=CLIENT|50=FX|52=20170207-06:13:*36.73
> 7*|56=BROKERTRADE|7=3899|16=0|10=107|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20
> 170207-06:13:*36.710*|122=20170207-06:13:12.957|369=3860|37=213310565|
> 11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151
> =0|14=0|6=0|60=20170207-06:13:12.957|10=055|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20
> 170207-06:13:36.710|122=20170207-06:13:35.331|369=3860|37=213310568|11
> =S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=
> 2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=112|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20
> 170207-06:13:36.710|122=20170207-06:13:35.340|369=3860|37=213310569|11
> =S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=
> 3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|1
> 0=122|
>
> 8=FIX.4.3|9=76|*35=2*|34=3861|49=CLIENT|50=FX|52=20170207-06:13:*37.01
> 8*|56=BROKERTRADE|7=3899|16=0|10=101|
>
> 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20
> 170207-06:13:*36.986*|122=20170207-06:13:12.957|369=3861|37=213310565|
> 11=S10_20170207_004P_02_001|
>
> 17=13130921592957872178|150=4|39=4|55=USD/CHF|460=4|54=1|38=198611|151
> =0|14=0|6=0|60=20170207-06:13:12.957|10=071|
>
> 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20
> 170207-06:13:36.986|122=20170207-06:13:35.331|369=3861|37=213310568|11
> =S10_20170207_004P_01_002|66=S10_20170207_004P|
>
> 17=13130921615331253981|150=0|39=0|55=USD/CHF|460=4|54=2|38=198611|40=
> 2|44=0.9955667375|59=0|151=198611|14=0|6=0|21=1|10=128|
>
> 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20
> 170207-06:13:36.986|122=20170207-06:13:35.340|369=3861|37=213310569|11
> =S10_20170207_004P_02_002|66=S10_20170207_004P|
>
> 17=13130921615340464482|150=0|39=0|55=USD/CHF|460=4|54=1|38=198611|40=
> 3|44=0.9955667375|99=0.9976546197|59=0|18=9|151=198611|14=0|6=0|21=1|1
> 0=138|
>
> Thanks a lot.
>
> Regards,
>
> Cedric
>
>
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com 
> ______________________________________________________________________
>
>
> ----------------------------------------------------------------------
> -------- Check out the vibrant tech community on one of the world's
> most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>
>
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: SPAM: Re: Resend Request too many times in a short period

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi Cedric,

the Exception is the reason for the looping. When an uncaught exception is thrown from within your fromApp callback, then the sequence number is not incremented. This is because it is considered a transient error that is corrected with the next transmission. But that will probably not happen when there is a problem in the code of the fromApp method itself. It is interesting that the problem corrected itself in your case. :)

Regarding your other questions: the ResendRequest was from 3899 to 0. Zero means infinity here so that is why you got 3899 and up.
The event log only shows message 3900 because that is the message that has been received but it has too high a sequence number.

Best regards,
Chris.


On 10/02/17 10:37, Cedric Zeng wrote:
Hi Christoph,

Our QFJ version is 1.6.0.
The event logs are here.
>From what I saw, the messages also kept looping.
The FIX engine received 3900 & 3901 first and complained about them. Then it sent Resend Request twice again (go into a loop).
After it received the 3rd message, the Resend Request has been satisfied.
I have 2 questions:
	From the original messages, the order was 3899, 3900, 3901(the timing are the same). I don't know why it received 3900 first in the event log.
	The Resend Request was from 3899 to 3899, why did it received from 3899 to 3901?

How should I solve this problem?
Should I talk to my broker about this question? Can they solve is from their side?

---
Logs
8=FIX.4.3|9=76|35=2|34=3857|49=CLIENT|50=FX|52=20170207-06:13:35.909|56=BROKERTRADE|7=3899|16=0|10=113|
8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:12.957|369=3857|37=213310565|...
8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.331|369=3857|37=213310568|...
8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:35.881|122=20170207-06:13:35.340|369=3857|37=213310569|...

event logs
20170207-06:13:35: MsgSeqNum too high, expecting 3899 but received 3900: 8=FIX.4.3|9=253|35=8|34=3900|49=BROKERTRADE|52=20170207-06:13:35.331|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Enqueued at pos 3900: 8=FIX.4.3|9=253|35=8|34=3900|49=BROKERTRADE|52=20170207-06:13:35.331|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Sent ResendRequest FROM: 3899 TO: 3899

20170207-06:13:35: MsgSeqNum too high, expecting 3899 but received 3901: 8=FIX.4.3|9=274|35=8|34=3901|49=BROKERTRADE|52=20170207-06:13:35.340|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Enqueued at pos 3901: 8=FIX.4.3|9=274|35=8|34=3901|49=BROKERTRADE|52=20170207-06:13:35.340|56=CLIENT|57=FX|369=3855|6=0|...
20170207-06:13:35: Already sent ResendRequest FROM: 3899 TO: 3899.  Not sending another.

20170207-06:13:35: ResendRequest for messages FROM 3899 TO 3899 has been satisfied.

20170207-06:13:35: java.lang.StringIndexOutOfBoundsException: String index out of range: 24
quickfix.RuntimeError: java.lang.StringIndexOutOfBoundsException: String index out of range: 24
	at quickfix.Session.next(Session.java:1090)
	at quickfix.Session.next(Session.java:1109)
	at quickfix.mina.SingleThreadedEventHandlingStrategy$SessionMessageEvent.processMessage(SingleThreadedEventHandlingStrategy.java:148)
	at quickfix.mina.SingleThreadedEventHandlingStrategy.block(SingleThreadedEventHandlingStrategy.java:90)
	at quickfix.mina.SingleThreadedEventHandlingStrategy$1.run(SingleThreadedEventHandlingStrategy.java:129)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 24
	at java.lang.String.substring(Unknown Source)
	at algo_SAXO.GMC_AlgoEngine.Update_OrderBook_Canceled(GMC_AlgoEngine.java:3746)
	at algo_SAXO.TradeAppInitiator_SAXO.onMessage(TradeAppInitiator_SAXO.java:711)
	at quickfix.fix43.MessageCracker.crack43(MessageCracker.java:1066)
	at quickfix.fix43.MessageCracker.crack(MessageCracker.java:974)
	at algo_SAXO.TradeAppInitiator_SAXO.fromApp(TradeAppInitiator_SAXO.java:94)
	at quickfix.Session.fromCallback(Session.java:1731)
	at quickfix.Session.verify(Session.java:1682)
	at quickfix.Session.verify(Session.java:1746)
	at quickfix.Session.next(Session.java:982)
	... 5 more


Appreciate your help.

Regards,
Cedric

-----Original Message-----
From: Christoph John [[hidden email]] 
Sent: February 10, 2017 4:08 PM
To: [hidden email]
Subject: SPAM: Re: [Quickfixj-users] Resend Request too many times in a short period

QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

there is no setting to change the frequency of resend requests. When a message is missing then it needs to be re-requested.
I don't think that the minimal time difference causes a problem. IIRC the default maximum latency is
2 seconds. If it is exceeded, the session is getting logged out.

 From the log it seems that QFJ did not realise that the resend request has been satisfied. That's why it was re-requesting the same messages over and over (as soon as a message with a higher seqnum came in).
Which version of QFJ are you using?
Could you please also post your event logs?

Thanks,
Chris.


--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:Christoph.John@...



http://www.macd.com


MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
 Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald


take care of the environment - print only if necessary

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Resend Request too many times in a short period

CedricZ
In reply to this post by CedricZ
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi Christoph,

 

Thanks your reply.

I’m not an expert of FIX project, so I still have some questions…

 

I add our system time back into the log. I think the looping steps are

1.       [2017-02-07 14:13:36.737] 3 events happened almost at the same timing.

a.       Received 34=3900, our system complained message number too high.

b.      Received 34=3901, our system complained message number too high.

c.       Sent Resend Request.

·   Because we should receive 34=3899. (transient error due to Exception)

2.       [2017-02-07 14:13:37.002] Received 34=3899, Resend Request has been satisfied.

 

From the information above, I can understand the error is corrected. But what is the reason cause the system into another loop?

The next circle is

1.       [2017-02-07 14:13:37.002] 3 events happened almost at the same timing.

a.       Received 34=3900, our system complained message number too high.

b.      Received 34=3901, our system complained message number too high.

c.       [2017-02-07 14:13:37.018] Sent Resend Request.

·   Because we should receive 34=3899. (transient error due to Exception)

2.       [2017-02-07 14:13:37.283] Received 34=3899, Resend Request has been satisfied.

 

Is it because the resend request was from 3899 to 0?

Once the 34=3899 was used to satisfy last resend request, the 34=3900 will trigger another loop (resend request)?

 

How do we prevent this happen again?

 

Appreciate your help.

 

---

Event Log

20170207-06:13:36: MsgSeqNum too high, expecting 3899 but received 3900: 8=FIX.4.3|9=284|35=8|34=3900|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.331|369=3859|...

20170207-06:13:36: Enqueued at pos 3900: 8=FIX.4.3|9=284|35=8|34=3900|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.331|369=3859|....

20170207-06:13:36: Sent ResendRequest FROM: 3899 TO: 3899

20170207-06:13:36: MsgSeqNum too high, expecting 3899 but received 3901: 8=FIX.4.3|9=305|35=8|34=3901|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.340|369=3859|...

20170207-06:13:36: Enqueued at pos 3901: 8=FIX.4.3|9=305|35=8|34=3901|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.340|369=3859|...

20170207-06:13:36: Already sent ResendRequest FROM: 3899 TO: 3899.  Not sending another.

20170207-06:13:37: ResendRequest for messages FROM 3899 TO 3899 has been satisfied.

20170207-06:13:37: java.lang.StringIndexOutOfBoundsException: String index out of range: 24

 

Log

[2017-02-07 14:13:36.455] - 8=FIX.4.3|9=76|35=2|34=3859|49=CLIENT|50=FX|52=20170207-06:13:36.455|56=BROKERTRADE|7=3899|16=0|10=112|

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:12.957|369=3859|...

 

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.331|369=3859|...

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.340|369=3859|...

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=76|35=2|34=3860|49=CLIENT|50=FX|52=20170207-06:13:36.737|56=BROKERTRADE|7=3899|16=0|10=107|

[2017-02-07 14:13:37.002] - 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:12.957|369=3860|...

 

[2017-02-07 14:13:37.002] - 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.331|369=3860|...

[2017-02-07 14:13:37.002] - 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.340|369=3860|...

[2017-02-07 14:13:37.018] - 8=FIX.4.3|9=76|35=2|34=3861|49=CLIENT|50=FX|52=20170207-06:13:37.018|56=BROKERTRADE|7=3899|16=0|10=101|

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:12.957|369=3861|...

 

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.331|369=3861|...

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.340|369=3861|...

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=76|35=2|34=3862|49=CLIENT|50=FX|52=20170207-06:13:37.283|56=BROKERTRADE|7=3899|16=0|10=106|

 

Regards,

Cedric

 

From: Christoph John [[hidden email]]
Sent: February 10, 2017 6:30 PM
To: Cedric Zeng <[hidden email]>; [hidden email]
Subject: SPAM: Re: SPAM: Re: [Quickfixj-users] Resend Request too many times in a short period

 

Hi Cedric,

the Exception is the reason for the looping. When an uncaught exception is thrown from within your fromApp callback, then the sequence number is not incremented. This is because it is considered a transient error that is corrected with the next transmission. But that will probably not happen when there is a problem in the code of the fromApp method itself. It is interesting that the problem corrected itself in your case. :)

Regarding your other questions: the ResendRequest was from 3899 to 0. Zero means infinity here so that is why you got 3899 and up.
The event log only shows message 3900 because that is the message that has been received but it has too high a sequence number.

Best regards,
Chris.


______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Resend Request too many times in a short period

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/





On 13/02/17 09:52, Christoph John wrote:
Hi Cedric,

to prevent the underlying error in the future you should make your code more robust. I don't know what you wanted to parse on that message, but it clearly wasn't there. You should check for fields before trying to access them.

Regarding the "resend request satisfied" message: that message is printed as soon as the message is verified. However, the fromApp callback is called after that. Then the fromApp fails and hence the sequence number is not incremented which leads to the subsequent resend request.

Regards,
Chris.


On 13/02/17 04:26, Cedric Zeng wrote:

Hi Christoph,

 

Thanks your reply.

I’m not an expert of FIX project, so I still have some questions…

 

I add our system time back into the log. I think the looping steps are

1.       [2017-02-07 14:13:36.737] 3 events happened almost at the same timing.

a.       Received 34=3900, our system complained message number too high.

b.      Received 34=3901, our system complained message number too high.

c.       Sent Resend Request.

·   Because we should receive 34=3899. (transient error due to Exception)

2.       [2017-02-07 14:13:37.002] Received 34=3899, Resend Request has been satisfied.

 

From the information above, I can understand the error is corrected. But what is the reason cause the system into another loop?

The next circle is

1.       [2017-02-07 14:13:37.002] 3 events happened almost at the same timing.

a.       Received 34=3900, our system complained message number too high.

b.      Received 34=3901, our system complained message number too high.

c.       [2017-02-07 14:13:37.018] Sent Resend Request.

·   Because we should receive 34=3899. (transient error due to Exception)

2.       [2017-02-07 14:13:37.283] Received 34=3899, Resend Request has been satisfied.

 

Is it because the resend request was from 3899 to 0?

Once the 34=3899 was used to satisfy last resend request, the 34=3900 will trigger another loop (resend request)?

 

How do we prevent this happen again?

 

Appreciate your help.

 

---

Event Log

20170207-06:13:36: MsgSeqNum too high, expecting 3899 but received 3900: 8=FIX.4.3|9=284|35=8|34=3900|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.331|369=3859|...

20170207-06:13:36: Enqueued at pos 3900: 8=FIX.4.3|9=284|35=8|34=3900|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.331|369=3859|....

20170207-06:13:36: Sent ResendRequest FROM: 3899 TO: 3899

20170207-06:13:36: MsgSeqNum too high, expecting 3899 but received 3901: 8=FIX.4.3|9=305|35=8|34=3901|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.340|369=3859|...

20170207-06:13:36: Enqueued at pos 3901: 8=FIX.4.3|9=305|35=8|34=3901|43=Y|49=BROKERTRADE|52=20170207-06:13:36.433|56=CLIENT|57=FX|122=20170207-06:13:35.340|369=3859|...

20170207-06:13:36: Already sent ResendRequest FROM: 3899 TO: 3899.  Not sending another.

20170207-06:13:37: ResendRequest for messages FROM 3899 TO 3899 has been satisfied.

20170207-06:13:37: java.lang.StringIndexOutOfBoundsException: String index out of range: 24

 

Log

[2017-02-07 14:13:36.455] - 8=FIX.4.3|9=76|35=2|34=3859|49=CLIENT|50=FX|52=20170207-06:13:36.455|56=BROKERTRADE|7=3899|16=0|10=112|

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:12.957|369=3859|...

 

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.331|369=3859|...

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.433|122=20170207-06:13:35.340|369=3859|...

[2017-02-07 14:13:36.737] - 8=FIX.4.3|9=76|35=2|34=3860|49=CLIENT|50=FX|52=20170207-06:13:36.737|56=BROKERTRADE|7=3899|16=0|10=107|

[2017-02-07 14:13:37.002] - 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:12.957|369=3860|...

 

[2017-02-07 14:13:37.002] - 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.331|369=3860|...

[2017-02-07 14:13:37.002] - 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.710|122=20170207-06:13:35.340|369=3860|...

[2017-02-07 14:13:37.018] - 8=FIX.4.3|9=76|35=2|34=3861|49=CLIENT|50=FX|52=20170207-06:13:37.018|56=BROKERTRADE|7=3899|16=0|10=101|

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=252|35=8|49=BROKERTRADE|56=CLIENT|34=3899|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:12.957|369=3861|...

 

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=284|35=8|49=BROKERTRADE|56=CLIENT|34=3900|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.331|369=3861|...

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=305|35=8|49=BROKERTRADE|56=CLIENT|34=3901|57=FX|43=Y|52=20170207-06:13:36.986|122=20170207-06:13:35.340|369=3861|...

[2017-02-07 14:13:37.283] - 8=FIX.4.3|9=76|35=2|34=3862|49=CLIENT|50=FX|52=20170207-06:13:37.283|56=BROKERTRADE|7=3899|16=0|10=106|

 

Regards,

Cedric

 

F


--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:Christoph.John@...



http://www.macd.com


MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
 Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald


take care of the environment - print only if necessary

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Loading...