RabbitMQ崩溃与bump_reduce_memory_use

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ崩溃与bump_reduce_memory_use相关的知识,希望对你有一定的参考价值。

我在部署在docker上的Erlang 20.2.2上使用RabbitMQ 3.7.3(图像rabbitmq:3.7-management)。

内存设置如下:Memory high watermark set to 6000 MiB (6291456000 bytes) of 8192 MiB (8589934592 bytes) total

以下是我正在自动重启RabbitMQ的崩溃报告:

CRASH REPORT过程<0.818.0>,其中0个邻居退出,原因是:没有匹配rabbit_priority_queue的函数子句:handle_info(bump_reduce_memory_use,{state,rabbit_variable_queue,[{10,{vqstate,{0,{[],[]}},{ 0,{[],[]}},{delta,undefined,0,0,undefined},...}},...],...})gen_server2中的第396行:终止/ 3行1161

这似乎是由于发布到这样的队列设置的消息填充了500k +消息:enter image description here

谢谢你的帮助 !

答案

我提交了this bug并打开了这些拉动请求来解决这个问题 - 3.7.x PRmaster PR。此修复程序将在RabbitMQ 3.7.4中发布。

将来,当RabbitMQ核心团队每天监控它时,最好讨论或报告mailing list上的问题。

感谢您报告此问题以及使用RabbitMQ。

以上是关于RabbitMQ崩溃与bump_reduce_memory_use的主要内容,如果未能解决你的问题,请参考以下文章

当 RabbitMQ 消费者崩溃时,获取的消息会发生啥?

输入UI时RabbitMQ崩溃

RabbitMQ 数据在崩溃时丢失

当 rabbitmq-server 崩溃时,rabbitmq 服务器会恢复标记为持久队列的消息吗?

RabbitMQ Worker 崩溃问题

RabbitMQ 异常与任务分发