环境
- EMQX 版本:5.0.15
重现此问题的步骤
mqtt客户端使用paho.mqtt.golang v1.4.2,其中clean session设置为false,客户端client连接断开之后,grpc钩子正常回调disconnect事件,但过了一段时间再上线,还是会再次收到disconnect事件,两次原因分别是tcp_closed和takenover
预期行为
只有一次tcp_closed的下线回调,不应该还有后面的takenover
mqtt客户端使用paho.mqtt.golang v1.4.2,其中clean session设置为false,客户端client连接断开之后,grpc钩子正常回调disconnect事件,但过了一段时间再上线,还是会再次收到disconnect事件,两次原因分别是tcp_closed和takenover
只有一次tcp_closed的下线回调,不应该还有后面的takenover
您好,我们现行设计确实是这样的。现在会对您的业务产生是什么不好的影响么?
connected 和 disconnected 出现次数不是成对的,你这边是可以直接忽略 taokenover 的 disconected 事件。对于某个 Client ID 来说,最后的在线状态应该是和 EMQX保持一致的
我们目前有个场景就是通过exhook来实现上下线事件的webhook回调,监测设备下线这种异常情况,但是有个问题就是这个case导致了上线时会多收到一条下线的回调,如果直接忽略takeover的话,有种情况是确实是因为client重复登录这种正常case,是不应该被忽略的;想问一下这个有计划改进嘛
请问是怎么处理的,忽略taokenover的disconected 事件?