Michael Jacoby created BEAM-9647:
------------------------------------

             Summary: No MQTT connection possible because clientId is too long
                 Key: BEAM-9647
                 URL: https://issues.apache.org/jira/browse/BEAM-9647
             Project: Beam
          Issue Type: Bug
          Components: io-java-mqtt
    Affects Versions: 2.19.0
            Reporter: Michael Jacoby


The used FuseSource MQTT library only supports (outdated) MQTT version 3.1. 
According to MQTT v3.1 protocol 
([https://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#connect])
 a clientId must be <= 23 characters, otherwise the connection must be rejected 
by the server. However, in MqttIO 
([https://github.com/apache/beam/blob/master/sdks/java/io/mqtt/src/main/java/org/apache/beam/sdk/io/mqtt/MqttIO.java#L223])
 the clientId is always appended with a random UUID which itself is longer than 
23 characters. This implies that establishing a connection this way should 
never work.


FYI: If you don't encounter this error when testing it may be because some 
servers do not correctly implement the standard and accept connections with a 
clientId longer than 23 characters (e.g. HiveMQ) or crash and/or don't respond 
to such connection requests at all.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to