Uploaded image for project: 'OASIS Message Queuing Telemetry Transport (MQTT) TC'
  1. OASIS Message Queuing Telemetry Transport (MQTT) TC
  2. MQTT-7

Can the client and server store QoS=0 messages after a client using CleanSession=0 has disconnected?

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: core
    • Labels:
      None
    • Proposal:
      Hide

      From line 541 in WD11

      Line 544: restructure the last sentence to say "After disconnection, the Server MUST accumulate further QoS 1 and QoS 2 messages that match any subscriptions that the client had at the time of disconnection". Add a sentence to say "It MAY accumulate QOS 0 messages that meet the same criteria"

      in the list starting at line 555:

      add to line 557 and 558 ", or where transmission to the client has not yet been started"

      Show
      From line 541 in WD11 Line 544: restructure the last sentence to say "After disconnection, the Server MUST accumulate further QoS 1 and QoS 2 messages that match any subscriptions that the client had at the time of disconnection". Add a sentence to say "It MAY accumulate QOS 0 messages that meet the same criteria" in the list starting at line 555: add to line 557 and 558 ", or where transmission to the client has not yet been started"

      Description

      Can the client and server store QoS=0 messages after a client using CleanSession=0 has disconnected
      or must these messages be discarded. If they must be discarded then a temporary network outage will unnecessarily cause Qos=0 messages to lost.

        Attachments

          Activity

          Hide
          knolleary Nick O'Leary (Inactive) added a comment -

          I am in favour of allowing qos 0 to be stored, if desired, for disconnected clients - but that it not be required.

          In other words, for a CleanSession=0 client:

          • the client/server MUST store qos 1/2 messages, including those new messages due to active subscriptions on the server
          • the client/server MAY discard QoS 0 messages
          Show
          knolleary Nick O'Leary (Inactive) added a comment - I am in favour of allowing qos 0 to be stored, if desired, for disconnected clients - but that it not be required. In other words, for a CleanSession=0 client: the client/server MUST store qos 1/2 messages, including those new messages due to active subscriptions on the server the client/server MAY discard QoS 0 messages
          Hide
          coppen Richard Coppen (Inactive) added a comment -

          restructured proposal to fit narrative, previously read:

          If a client connects using CleanSession=0:

          • the client and server MUST store qos 1 and qos 2 messages, including those new messages due to active subscriptions on the server
          • the client and server MAY discard existing and new QoS 0 messages
          Show
          coppen Richard Coppen (Inactive) added a comment - restructured proposal to fit narrative, previously read: If a client connects using CleanSession=0: the client and server MUST store qos 1 and qos 2 messages, including those new messages due to active subscriptions on the server the client and server MAY discard existing and new QoS 0 messages
          Hide
          coppen Richard Coppen (Inactive) added a comment -

          Take to TC call 19.09.2013

          Show
          coppen Richard Coppen (Inactive) added a comment - Take to TC call 19.09.2013
          Hide
          ragupta2 Rahul Gupta (Inactive) added a comment -

          Changes made in WD-12

          If set to 0, the Server resumes communications with the Client based on state from the current Session, otherwise it creates a new Session. The Client and Server will store the Session after the Client and Server are disconnected. After disconnection, the Server MUST accumulate further QoS 1 and QoS 2 messages that match any subscriptions that the client had at the time of disconnection. It MAY accumulate QOS 0 messages that meet the same criteria.

          The Session state in the server consists of:
          • The client subscriptions which it has acknowledged.
          • All QoS 1 and QoS 2 messages for which transmission to the client is incomplete or where transmission to the client has not yet been started.
          • The server MAY store QoS 0 messages for which transmission is incomplete or where transmission to the client has not yet been started.

          Show
          ragupta2 Rahul Gupta (Inactive) added a comment - Changes made in WD-12 If set to 0, the Server resumes communications with the Client based on state from the current Session, otherwise it creates a new Session. The Client and Server will store the Session after the Client and Server are disconnected. After disconnection, the Server MUST accumulate further QoS 1 and QoS 2 messages that match any subscriptions that the client had at the time of disconnection. It MAY accumulate QOS 0 messages that meet the same criteria. The Session state in the server consists of: • The client subscriptions which it has acknowledged. • All QoS 1 and QoS 2 messages for which transmission to the client is incomplete or where transmission to the client has not yet been started. • The server MAY store QoS 0 messages for which transmission is incomplete or where transmission to the client has not yet been started.

            People

            • Assignee:
              ragupta2 Rahul Gupta (Inactive)
              Reporter:
              andrew_banks Andrew Banks (Inactive)
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: