rabbitmq - RabbitMQ 铲子卡在“终止”状态
问题描述
我们有一个问题,有时,一个动态铲子(通过 HTTP API 创建:)/api/parameters/shovel/
设置src-delete-after
为queue-length
完成,然后没有被删除,而是卡在终止状态。
后续尝试通过以下任一方法删除铲子均不成功:
- 发布
DELETE
到/api/parameters/shovel/
rabbitmqctl delete_shovel
rabbitmqctl clear_parameter -p <vhost> shovel <shovel_name>
铲子甚至没有出现在 RabbitMQ 管理 UI 的“铲子管理”部分中。
我们可以摆脱卡住的铲子的唯一方法是重新启动 RabbitMQ。
还有其他人有这个问题吗?如果是这样,我们如何在不重启集群的情况下清除铲子?另外,是否可以通过配置防止这种情况发生?
谢谢!
PS:
- RabbitMQ 版本:3.4.4
- 运行一个 2 节点集群(由于在网络分区的情况下我们可能面临的明显问题,很快将使其成为 3 节点集群)。
解决方案
您使用的是非常非常旧的 RabbitMQ 版本。请升级到最新版本 ( 3.7.6
) 并确保使用 Erlang 20.3.X
(不是21
)。如果您仍然可以重现此问题,请在rabbitmq-users
邮件列表中报告。
推荐阅读
- tkinter - 如何从 GRID 传递到 PACK
- javascript - 进行多个同步 AJAX 调用并显示状态
- sql - 2个查询之间的区别?
- java - 如何在子查询(hql)中选择多个列
- java - 基于 Spring Java 的配置优于基于 XML 的配置?
- python - 将字符串拆分为多个可能发生变化的变量
- amazon-web-services - 使用多个键更新 dynamodb golang
- php - 我只想在 WordPress 中为 safari 和 IE 添加 css
- presto - 在 WITH 语句中为后续 SELECT 检索分桶值
- git - 使用 TortoiseHG 将 Mercurial 转换为 Git。没有文件被创建