Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Q quickfix
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 48
    • Issues 48
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 25
    • Merge requests 25
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • quickfixgo
  • quickfix
  • Issues
  • #431
Closed
Open
Issue created Feb 02, 2021 by Ruben de Vries@rubensayshi

initiator reconnect loop when state is lost

full disclosure: I'm fairly new to FIX
I've been messing around with quickfix and the session lifecycle and was interested to see how quickfix would handle the initiator loosing it's state entirely and starting with a clean state.

what seems to happen is that if MsgSeqNum on the Logon of the initiator doesn't match the TargetMsgSeqNum of the acceptor, the acceptor will disconnect instantly.
then the initiator will reconnect after 30s and will send Login with a +1 MsgSeqNum.

and this repeats, until eventually (depending on the msg history) the initiator has reached the proper MsgSeqNum and then the acceptor will actually accept the connection, the initiator sends a ResendRequest and we're good to go!

I think the right course of action would be for the initiator to send a reset?
but I can't seem to figure out how to detect this scenario and trigger that, or maybe the check in shouldSendReset should be an OR instead of AND?

Assignee
Assign to
Time tracking