客户端连接频繁被断开,服务端日志显示reason: {shutdown,takenover}

错误报告

环境

  • EMQX 版本:5.0.15
  • 操作系统版本:

重现此问题的步骤

  1. xxx
  2. xxx
  3. xxx

预期行为

实际行为


功能请求

描述你需要的功能

为什么你需要这个功能


其他

这个看起来是具有相同的 clientid 的客户端登录导致的。

我也遇到了这个问题,其中用脚本启动程序不会这样,若是让设备自动重启启动软件就会报这个错误

我尝试过,换个不存在的ID还是会导致这个错误 msg: emqx_connection_terminated, reason: {shutdown,takenover}

那你设备连接 EMQX 是时的 clean_start (或 clean_session) 参数肯定设置的为 false。这表示 EMQX 会在 客户端异常断线后,保留会话信息。等你重连后前一个会话就会被接管(即打印这个错误日志)

但不会影响消息、订阅丢失

我将清除会话改为true,还是同样的现象,感觉不是这个问题,因为当我用脚本启动一切正常,系统启动自启动程序则会出现这个现象

开下 EMQX 的日志追踪,追下你的这个客户端ID的 DEBUG 日志,分析下

我排查了是我逻辑有问题,设备刚开启时,网络未连接,导致mqtt链接失败

1 个赞