Skip to content

Commit a9bb4ed

Browse files
jburhennbrocaar
authored andcommitted
fix: prevent duplicate mqtt connections (#229)
1 parent 6b202d1 commit a9bb4ed

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

cmd/chirpstack-gateway-bridge/cmd/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func init() {
6262
viper.SetDefault("integration.mqtt.state_retained", true)
6363
viper.SetDefault("integration.mqtt.keep_alive", 30*time.Second)
6464
viper.SetDefault("integration.mqtt.max_reconnect_interval", time.Minute)
65-
viper.SetDefault("integration.mqtt.max_token_wait", 5*time.Second)
65+
viper.SetDefault("integration.mqtt.max_token_wait", time.Minute)
6666

6767
viper.SetDefault("integration.mqtt.auth.generic.servers", []string{"tcp://127.0.0.1:1883"})
6868
viper.SetDefault("integration.mqtt.auth.generic.clean_session", true)

internal/integration/mqtt/backend.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,9 @@ func (b *Backend) connect() error {
379379
return errors.Wrap(err, "integration/mqtt: update authentication error")
380380
}
381381

382+
if b.conn != nil {
383+
b.conn.Disconnect(250)
384+
}
382385
b.conn = paho.NewClient(b.clientOpts)
383386
if err := tokenWrapper(b.conn.Connect(), b.maxTokenWait); err != nil {
384387
return err

0 commit comments

Comments
 (0)