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

Specification is ambiguous with regards to dynamic topics

    XMLWordPrintable

    Details

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

      MQTT Server & Client

    • Proposal:
      Hide

      Add Non Normative comment.

      A publication is sent to each client subscription that matches the topic name in the publication.
      The topic resource may be either predefined in the server by an administrator or it may be dynamically created by the server when it receives the first subscription or publication with that topic name. The server may also use a security component to selectively authorize actions on the topic resource for a given client.

      Previously >>>
      I propose that the specification is amended to indicate that while dynamic topic creation is recommended, a broker not supporting it can still be compliant with the spec. Perhaps there should be a new 'zero config' section to indicate concepts that are already covered and concepts that administration is required (such as the above)

      Show
      Add Non Normative comment. A publication is sent to each client subscription that matches the topic name in the publication. The topic resource may be either predefined in the server by an administrator or it may be dynamically created by the server when it receives the first subscription or publication with that topic name. The server may also use a security component to selectively authorize actions on the topic resource for a given client. Previously >>> I propose that the specification is amended to indicate that while dynamic topic creation is recommended, a broker not supporting it can still be compliant with the spec. Perhaps there should be a new 'zero config' section to indicate concepts that are already covered and concepts that administration is required (such as the above)

      Description

      In the current specification there is no explicit definition of dynamic topic creation. The behaviour of purpose built MQTT only brokers seems to be that topics are dynamically created when a publisher first publishes a message to a topic or when a subscriber subscribes to a topic. This is conceived to be a feature of the 'zero administration' capability that the protocol wishes to deliver: it is assumed that if a client is successfully authenticated then it can also publish / subscribe to arbitrary topic names.

      I personally do not agree with that model for three reasons:

      1. A single broker will in most cases be used by multiple applications. A misconfigured client could therefore publish unexpected messages in another application's namespace.

      2. As lightweight as MQTT topics may be considered, they surely require some resources on the server. A user could quickly kill a broker by creating very large number of topics accidentally or intentionally.

      3. Existing MOM brokers that wish to add support for MQTT as a transport protocol may wish to expose other types of server resources (e.g. a queue) so if creation is dynamic how can the resource type be controlled?

      Additionally, if MQTT wants to deliver a 'zero config' approach why does it rely on authentication only? If you are running on a public network you will likely want some level of control not only over who connects but also what they can do. This requires topic level administration so i find it contradictory to dynamic topic creation as far as 'zero config' is concerned.

      The same applies for another spec statement that reads: "These are the QoS levels at MQTT V3.1 Protocol Specification 12 of 42 which the administrators for the server have permitted the client to subscribe to a particular Topic Name." : Again an out of band administrative function for topics and the subsequent setting of permissions/ACL's of them is suggested which is also contradictory to dynamic topic creation with regards to 'zero config'.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: