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)