[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[mosquitto-dev] Weird behaviour when using two bridges with the same clientId
|
Using the following config for test purposes:
----------------------------------
max_inflight_messages 1
max_queued_messages 1000
allow_zero_length_clientid false
auto_id_prefix auto-
persistent_client_expiration 1m
port 9001
log_dest none
log_dest stderr
connection_messages true
connection test2
address localhost:9002
topic # out 0 local/ remote/
clientid test1
keepalive_interval 10
restart_timeout 3
start_type automatic
try_private true
connection test3
address localhost:9003
topic # out 0 local/ remote/
clientid test1
keepalive_interval 10
restart_timeout 3
start_type automatic
try_private true
----------------------------------
When both the "remote" servers, at ports 9002 and 9003, are not running,
this is the result:
----------------------------------
1433871614: mosquitto version 1.3.4 (build date 2014-08-17
03:38:31+0000) starting
1433871614: Config loaded from test1.conf.
1433871614: Opening ipv4 listen socket on port 9001.
1433871614: Opening ipv6 listen socket on port 9001.
1433871614: Connecting bridge test2 (localhost:9002)
1433871614: Error creating bridge: Connection refused.
1433871614: Warning: Unable to connect to bridge test2.
1433871614: Connecting bridge test3 (localhost:9003)
1433871614: Error creating bridge: Connection refused.
1433871614: Warning: Unable to connect to bridge test3.
1433871618: Connecting bridge test3 (localhost:9003)
1433871618: Error creating bridge: Connection refused.
1433871622: Connecting bridge test3 (localhost:9003)
1433871622: Error creating bridge: Connection refused.
1433871626: Connecting bridge test3 (localhost:9003)
1433871626: Error creating bridge: Connection refused.
1433871630: Connecting bridge test3 (localhost:9003)
1433871630: Error creating bridge: Connection refused.
1433871634: Connecting bridge test3 (localhost:9003)
1433871634: Error creating bridge: Connection refused.
1433871638: Connecting bridge test3 (localhost:9003)
1433871638: Error creating bridge: Connection refused.
----------------------------------
As you can see, mosquitto happily accepted the config, attempted to
connect to port 9002 once, and then kept polling 9003. Even if 9003 was
brought up, it would never again attempt port 9002.
The problem turned out to be that I used the same clientId for my
connections, as I wanted to identify as the server "test1" on both
remote servers. Changing these to "test1_2" and "test1_3", it would poll
both servers as expected.
I found this very unintuitive, and thought I'd give some feedback about
that. I would expect this to work fine, as none of the servers should
end up seeing two "test1" clientId's, but at the very least this should
produce an appropriate error message rather than the weird situation
shown above.
Best regards,
Øyvind Hvidsten