You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Ismaël Mejía (Jira)" <ji...@apache.org> on 2020/04/08 09:49:00 UTC

[jira] [Commented] (BEAM-9647) No MQTT connection possible because clientId is too long

    [ https://issues.apache.org/jira/browse/BEAM-9647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17078007#comment-17078007 ] 

Ismaël Mejía commented on BEAM-9647:
------------------------------------

You are right this is an error, would you be interested on contributing a fix [~mjacoby] ?

> 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
>            Priority: Critical
>
> 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)