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

Session reset happens after logon

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.0
    • Fix Version/s: 1.6.4
    • Component/s: Engine
    • Labels:
      None

      Description

      scenario:

      application is handling several FIX sessions (initiators)
      app started in the off time – FIX sessions are successfully created and reset

      {{11 May 23:40:10.450 INFO (Thread-3) Session FIX.4.4:SENDER_ONE->TARGET schedule is THU 04:05:00-UTC - THU 20:30:00-UTC
      11 May 23:40:10.452 INFO (Thread-3) Session state is not current; resetting FIX.4.4:SENDER_ONE->TARGET
      11 May 23:40:10.459 INFO (Thread-3) Created session: FIX.4.4:SENDER_ONE->TARGET

      11 May 23:40:10.501 INFO (Thread-3) Session FIX.4.4:SENDER_TWO->TARGET schedule is THU 04:07:00-UTC - THU 20:30:00-UTC
      11 May 23:40:10.502 INFO (Thread-3) Session state is not current; resetting FIX.4.4:SENDER_TWO->TARGET
      11 May 23:40:10.509 INFO (Thread-3) Created session: FIX.4.4:SENDER_TWO->TARGET
      }}

      on the next day logons are initiated according to session’s schedules

      but the first session reset is happened in the middle of message handling:
      (which is result in re-logon and “MsgSeqNum too low” issue)

      1. SENDER_ONE
        12 May 06:05:00.932 INFO (QFJ Timer) Initiated logon request
        12 May 06:05:01.145 INFO (QFJ Message Processor) Received logon
        12 May 06:05:01.149 INFO (QFJ Message Processor) Sent ResendRequest FROM: 1 TO: 2385
        12 May 06:05:01.150 INFO (QFJ Message Processor) Logon has been established: FIX.4.4:SENDER_ONE->TARGET
        12 May 06:05:01.156 INFO (QFJ Message Processor) Session state is not current; resetting FIX.4.4:SENDER_ONE->TARGET
        12 May 06:05:01.168 INFO (QFJ Message Processor) Session has been logged out: FIX.4.4:SENDER_ONE->TARGET
        12 May 06:05:16.928 INFO (QFJ Timer) Initiated logon request
        12 May 06:05:17.160 INFO (QFJ Message Processor) Received logout request: MsgSeqNum too low, expecting 4 but received 1

      on other hand second session starts normally (reset happens before logon):

      1. SENDER_TWO
        12 May 06:07:00.929 INFO (QFJ Timer) Session state is not current; resetting FIX.4.4:SENDER_TWO->TARGET
        12 May 06:07:00.930 INFO (QFJ Timer) Initiated logon request
        12 May 06:07:01.103 INFO (QFJ Message Processor) Received logon
        12 May 06:07:01.103 INFO (QFJ Message Processor) Sent ResendRequest FROM: 1 TO: 2612
        12 May 06:07:01.103 INFO (QFJ Message Processor) Logon has been established: FIX.4.4:SENDER_TWO->TARGET

      I guess the problem is how session reset is handled in Session::next() method:
      look like sometimes the previous session time check is happenning less then 1 sec ago – it is skipped – and as a result session reset is accured already after logon

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                chrjohn Christoph John
                Reporter:
                nickola Nickolay Dul
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: