retain消息无法保存

错误报告

环境

  • EMQX 版本:5.0.13-macos12-arm64
  • 操作系统版本:macos 13.0.1

重现此问题的步骤

1.发送retain的消息,无法保留

2023-01-17T16:19:51.252082+08:00 [error] clientid: emqx_OTQzNz, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 127.0.0.1:62096, reason: table_is_full, topic: /alarm/20010001/20010001@010901@00007

2023-01-17T16:20:24.851276+08:00 [error] clientid: emqx_OTQzNz, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 127.0.0.1:62096, reason: table_is_full, topic: /alarm/2001000212/20010001@010901@00007

2023-01-17T16:20:33.864420+08:00 [error] clientid: emqx_OTQzNz, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 127.0.0.1:62096, reason: table_is_full, topic: /alarm/2001000212/20010001@010901@00007

2023-01-17T16:20:35.125243+08:00 [error] clientid: emqx_OTQzNz, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 127.0.0.1:62096, reason: table_is_full, topic: /alarm/2001000212/20010001@010901@00007

2023-01-17T16:23:09.935559+08:00 [error] clientid: 38fceb6b82e74701b0cce7ba8314feaf, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 127.0.0.1:62048, reason: table_is_full, topic: /alarm/20010001/20010001@010901@00005

2023-01-17T16:28:49.283840+08:00 [error] clientid: 38fceb6b82e74701b0cce7ba8314feaf, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 127.0.0.1:62048, reason: table_is_full, topic: /alarm/20010001/20010001@010901@00006

2023-01-17T16:40:39.769569+08:00 [error] clientid: emqx_MzUzMD, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 192.168.0.95:2181, reason: table_is_full, topic: data/20010001/0408/20010001@040813@00113

2023-01-17T16:41:07.607457+08:00 [error] clientid: emqx_MzUzMD, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 192.168.0.95:2181, reason: table_is_full, topic: data/20010001/0408/20010001@040813@00113

2023-01-17T16:42:20.558962+08:00 [error] clientid: emqx_MzUzMD, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 192.168.0.95:2181, reason: table_is_full, topic: data/20010001/0408/20010001@040813@00113

2023-01-17T16:47:34.454562+08:00 [error] clientid: 38fceb6b82e74701b0cce7ba8314feaf, line: 147, mfa: emqx_retainer_mnesia:store_retained/2, msg: failed_to_retain_message, peername: 127.0.0.1:62048, reason: table_is_full, topic: /alarm/20010001/20010001@010901@00009

table_is_full 这个错误原因已经提示你了,当前存储的保留消息数量已经达到最大限制了,你可以调整一下 max_retained_messages 这个参数。

我现在 在dashboard里面 设置了最大保留消息数为0 就好了
不过如何让每个topic只保留最新一条消息

保留消息就是每个主题下只会保存一条消息的

可是将他设置为1就会报那个错误

因为默认有几条系统消息也是保留消息的 :joy:

就是说 每个topic只保存一条 那个 最大保留消息是指所有的么 也就是发retain topic的数量么

是的,所有的,我记得系统消息默认会占用三条保留消息的存储位置。

多谢指点