Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-705

Redundant ResendRequest is sent after logon when tag 789 based recovery is supposed to be used

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 1.5.0, 1.5.1, 1.5.2
    • Fix Version/s: None
    • Component/s: Engine
    • Labels:
      None

      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

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                chrjohn Christoph John
                Reporter:
                andrzej_ls Andrzej Hajderek
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: