emq收不到消息

环境信息

  • EMQ X 版本:4.3.7
  • 操作系统及版本:centos7
  • 其他

问题描述

有几次发送到四万多条的时候就会断开连接,以后也收不到消息了,还有一次是发送到几千条的时候。

之后一直收不到消息是因为报文格式一直在出错吗还是配置的问题;
如果是mqtt报文格式出错导致的问题,那能不能通过设置跳过这条出错的消息或者说使这条出错的报文不会影响后面消息的发送呢。emq有这种机制吗?
另外可以通过这个日志知道是报文的哪一块出错了吗

配置文件及日志

2021-10-29T15:47:25.158939+08:00 [error] 39.144.12.182:15100 [MQTT] , Parse failed for function_clause, [{emqx_frame,parse_packet,[{mqtt_packet_header,7,false,1,true},<<"s/heyuanbo/nbiot{\"method\":\"publish RFID data\",\"id\":{"...>>,#{max_size => 1048576,strict_mode => false,version => 4}],[{file,"emqx_frame.erl"},{line,204}]},{emqx_frame,parse_frame,4,[{file,"emqx_frame.erl"},{line,181}]},{emqx_connection,parse_incoming,3,[{file,"emqx_connection.erl"},{line,625}]},{emqx_connection,handle_msg,2,[{file,"emqx_connection.erl"},{line,618}]},{emqx_connection,process_msg,2,[{file,"emqx_connection.erl"},{line,364}]},{emqx_connection,handle_recv,3,[{file,"emqx_connection.erl"},{line,328}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,236}]}], Frame data:<<"sys/heyuanbo/nbiot{\"method\":\"publish RFID data\",\"id\":{\"IMEI_Data\":8612130522"...>>

看日志是报文解析出错了,报文出错会关闭连接,没法保持连接继续接收消息,因为当前流可能已经出现问题,无法保证能够正确解析后续的报文。