[QFJ-705] Redundant ResendRequest is sent after logon when tag 789 based recovery is supposed to be used Created: 17/Sep/12  Updated: 18/Sep/12  Resolved: 18/Sep/12

Status: Closed
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 1.5.0, 1.5.1, 1.5.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Andrzej Hajderek Assignee: Christoph John
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
is duplicated by QFJ-704 New parameter "EnableResendRequest" t... Closed
Relates
relates to QFJ-567 Would like QuickFix/J to natively sup... Resolved

 Description   

Hi,

It looks like more and more people are experiencing the same issue - tag 789 support is incomplete. Please see:
http://www.quickfixj.org/jira/browse/QFJ-567
http://www.quickfixj.org/jira/browse/QFJ-704

Below I propose a partial fix for the problem. Since it requires only two lines of code it should be easier to accept, assuming it does not break anything else.

I propose to make the call to doTargetTooHigh(logon) in in nextLogon(Message logon) conditional:

private void nextLogon(Message logon) throws FieldNotFound, RejectLogon, IncorrectDataFormat,
IncorrectTagValue, UnsupportedMessageType, IOException, InvalidMessage

{ ... boolean useTag789 = enableNextExpectedMsgSeqNum && logon.isSetField(NextExpectedMsgSeqNum.FIELD); if (!useTag789) doTargetTooHigh(logon); ... }

The above condition ensures that when tag 789 mode recovery is enabled the ResendRequest will not be sent.

In fact some trading platforms do not allow a redundant ResendRequest. I tested this fix with an initiator application connecting to Reuters MAPI FIX (Drop Copy).

Regards,
Andrzej Hajderek



 Comments   
Comment by Andrzej Hajderek [ 17/Sep/12 ]

Sorry, the first link should have been:

http://www.quickfixj.org/jira/browse/QFJ-567

Comment by Christoph John [ 18/Sep/12 ]

Corrected link.

Generated at Sat Nov 23 11:28:26 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.