Skip to content

Commit ed51950

Browse files
committed
fix: prevent duplicate mqtt connections
1 parent c1f5508 commit ed51950

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
@@ -63,7 +63,7 @@ func init() {
6363
viper.SetDefault("integration.mqtt.state_retained", true)
6464
viper.SetDefault("integration.mqtt.keep_alive", 30*time.Second)
6565
viper.SetDefault("integration.mqtt.max_reconnect_interval", time.Minute)
66-
viper.SetDefault("integration.mqtt.max_token_wait", 5*time.Second)
66+
viper.SetDefault("integration.mqtt.max_token_wait", time.Minute)
6767

6868
viper.SetDefault("integration.mqtt.auth.generic.servers", []string{"tcp://127.0.0.1:1883"})
6969
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
@@ -383,6 +383,9 @@ func (b *Backend) connect() error {
383383
return errors.Wrap(err, "integration/mqtt: update authentication error")
384384
}
385385

386+
if b.conn != nil {
387+
b.conn.Disconnect(250)
388+
}
386389
b.conn = paho.NewClient(b.clientOpts)
387390
if err := tokenWrapper(b.conn.Connect(), b.maxTokenWait); err != nil {
388391
return err

0 commit comments

Comments
 (0)