Uploaded image for project: 'Openfire'
  1. Openfire
  2. OF-2015

Remove the session that was used for resumption immediately

    XMLWordPrintable

    Details

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

      Description

      Stream Management is a feature that allows a session to be 'resumed'. The implementation basically keeps a reference to a session alive for a certain period of time when its connection got disconnected in a non-clean way (eg: network interruption). When a new session for the same user is established, that session can indicate that it wants to be 'resume' the old session. What happens is that the new session "donates" its connection to the old session, which is then is resumed.

      The session that donates its connection is no longer relevant. The existing code marks it as 'detached', which, eventually, causes it to be cleaned up. This, however, is confusing (and potientially wrong): the session lingers in a state of being 'detached', which implies that it can be resumed. That simply is not the case. The session is cleanup up only after the detach timeout has occurred.

      Openfire should clean up the donor immediately after session resumption.

        Attachments

          Activity

            People

            Assignee:
            guus Guus der Kinderen
            Reporter:
            guus Guus der Kinderen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: