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

IoSessionInitiator can't reconnect the disconnected session

    Details

      Description

      The reconnection has a check shouldReconnect(). The function rely on the flag "!ioSession.isConnected()". But when the Session object disconnect its connection by

      responder.disconnect();
      setResponder(null);

      The disconnect() itself will cause the close future set "closing = true". So there is a gap. Session object believe its connection is closed. While because of some reason the close isn't done, just be marked. So the background reconnection process will be fooled and won't be able to rebuild the connection. The Session timeout check routine will also just skip check since its responder is null by this check

      // Return if we are not connected
      if (!hasResponder())

      { return; }

      The effect is the connection won't be back after the following exception log

      Disconnecting: Socket exception : java.io.IOException: Connection reset by peer

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                oxyg3n8@gmail.com Guido Medina
                Reporter:
                shenliang@dt-workshop.com Shen liang
              • Votes:
                3 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: