emqx 5.2.0连接抖动功能开启了没有生效

emqx 5.2.0连接抖动功能开启了没有生效
在dashboard 开启了 连接抖动的功能后,我用mqttx客户端频率的断开连接。超过了 连接抖动设置的次数后,发现还能正常连接上MQTT,请问是否是一个BUG还是我对这个 连接抖动的理解有误呢?

麻烦提供下你的连接抖动具体的配置内容和测试方法

目前配置在dashboard上如下配置,

然后在mqttx工具下不停的断开重连,

发现还是能正常连接,按描述我应该一分钟内断开重连5次以上应该会禁用3分钟,而实际我断开重连5次后还是能正常连接上。这个基本可以复现。今天我测试了3次,有1次可以生效,有两次不能生效。

使用 MQTTX CLI 测试后,没有复现你的问题。有两点你检查下看看

  1. 连接抖动针对的是客户端 ID (可以针对 IP, 但是副作用太明显,目前不支持), 如果客户端 ID 不是固定的,则这个功能无法生效
  2. 这个功能是在连接上后进行的判断,如果 ClientId 已经被封禁了,则会被踢掉。所以有可能显示上连接成功了,实际上已经被踢掉了,无法进行订阅或者发布,你可以验证下是否是这种情况

在mqttx上测试,客户端id是固定的,我这边试过频繁断开再重连5次以上,发现还能发布订阅,而且必复现的 :joy:

另外我这边是开启了客户端认征,不知跟这个有没有影响呢?

我感觉好像是mqtt断开的问题没有识别到,我用mqttx 频繁的断开重连,有时没有输出断开的日志信息。是不我断开的太快识别不到呢?

另外你这边发现断开次数少于3次是精准可以生效的,但大于3次就看运气了,所以你那边可以把断开次数设置为5应该可以复现这个问题的。再补充一下,我这边是4个节点集群

你在集群前面有设置负载均衡么,也就是说设备是每次都连的同一个节点,还是可能连接到不同的节点上

客户端连同一个节点也试过一样,只要设置断开次数大于3次,就不能精准3次,有时要9次有时要10几次才能把这个clientid加到黑名单,你那边可以尝试配置5次应该可以复现的。


我在 5.3.0 上的单个节点上将值设置为 5 → 10 次都是没问题的

单节点完全没问题,我单节点也是正常,只是多节点才会有这个问题的。