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

Not possible to restart a stopped SocketInitiator using FileLog

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.2
    • Fix Version/s: 1.5.3
    • Component/s: Engine
    • Labels:
      None

      Description

      • An initiator creates the sessions in start() -> initialize() -> createSessionInitiators()
      • if an initiator is stopped, then the sessions will be unregistered
      • if an initialized initiator is started, then it only re-registers the sessions, and does not recreate them (see initialize())
      • a Session closes it's Log if it's closeable (see Session -> unregisterSessions() -> close() -> closeIfCloseable(getLog())
        a FileLog only opens it's streams in clear() and in it's constructor
      • therefore, if SocketInitiator using a FileLog is stopped, then next time it gets started it will throw exceptions as the underlying file descriptor is closed.

      This bug is NOT present in the case of Acceptors as they recreate sessions when they start up.

        Attachments

          Activity

            People

            • Assignee:
              chrjohn Christoph John
              Reporter:
              mvarga Mate Varga
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: