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

Clarifying what MQTT means by storing data.

    XMLWordPrintable

    Details

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

      I suggest we define the term "store" as follows.

      The client and server implement data storage independently and the duration for which data persists can be different in each. The client and server MUST store data for at least as long as the client server connection lasts. Quality of service guarantees are only valid so long as both client and server store data. Durable subscriptions and retained publications are only good for the length of time that the server stores them.

      Make a global change to replace "persist" with "store".

      Show
      I suggest we define the term "store" as follows. The client and server implement data storage independently and the duration for which data persists can be different in each. The client and server MUST store data for at least as long as the client server connection lasts. Quality of service guarantees are only valid so long as both client and server store data. Durable subscriptions and retained publications are only good for the length of time that the server stores them. Make a global change to replace "persist" with "store".
    • Resolution:
      Hide

      Added lines 541 on in draf07 as proposal..

      Show
      Added lines 541 on in draf07 as proposal..

      Description

      The MQTT Specification talks about storing state for example in terms of durable subscriptions, retained [publications and partially completed message transfers for Qos 1 and Qos 2.

      In practice server implementations interpret storing state in a number of ways ranging from a forced write to a disk to keeping the data in volatile memory which
      is cleared if the server is restarted. This is also the case for the client implementation, though most of these seem to actually force the data to disk.

      The consequence of not storing data by forcing it to disk in the server are:
      Loss of retained publications, loss of durable subscriptions, loss of Qos =1 publications, loss or duplication of Qos=2 publications
      In the client this would also result in loss or duplication of messages.

      The client and server are only able to detect indirectly that the other has lost data, for example by failing to receive a retained publication.

        Attachments

          Activity

            People

            • Assignee:
              andrew_banks Andrew Banks (Inactive)
              Reporter:
              andrew_banks Andrew Banks (Inactive)
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: