Rabbitmq 兔子铲卡在';终止';地位

Rabbitmq 兔子铲卡在';终止';地位,rabbitmq,rabbitmq-shovel,Rabbitmq,Rabbitmq Shovel,我们遇到了这样一个问题:在设置为队列长度后,src delete的动态铲(通过HTTP-API:/API/parameters/spoot/创建)偶尔会在结束后陷入src delete状态,而不是被删除 通过以下任何方法删除电铲的后续尝试均未成功: 将删除发布到/api/parameters/spoot/ rabbitmqctl delete\u铲 rabbitmqctl clear_参数-p铲 铲子甚至没有出现在RabbitMQ管理UI的“铲子管理”部分 我们摆脱那把卡住的铲子的唯一办法是重新

我们遇到了这样一个问题:在
设置为
队列长度后,
src delete的动态铲(通过HTTP-API:
/API/parameters/spoot/
创建)偶尔会在
结束后陷入
src delete状态,而不是被删除

通过以下任何方法删除电铲的后续尝试均未成功:

  • 删除
    发布到
    /api/parameters/spoot/
  • rabbitmqctl delete\u铲
  • rabbitmqctl clear_参数-p铲
  • 铲子甚至没有出现在RabbitMQ管理UI的“铲子管理”部分

    我们摆脱那把卡住的铲子的唯一办法是重新启动RabbitMQ

    还有其他人有这个问题吗?如果是这样,我们如何在不重新启动集群的情况下清除电铲?另外,是否可以通过配置来防止这种情况发生

    谢谢

    附言:

  • RabbitMQ版本:3.4.4
  • 运行一个2节点集群(由于在网络分区的情况下我们可能会面临明显的问题,很快将使其成为一个3节点集群)

  • 您使用的是非常非常旧的RabbitMQ版本。请升级到最新版本(
    3.7.6
    ),并确保使用Erlang
    20.3.X
    (而不是
    21
    )。如果您仍然可以复制此问题,请在邮件列表中报告。

    我们使用的是RMQ 3.7.13,Erlang 21.3.1

    出现问题的一种可能方式:

    • 3节点HA集群
    • 重新启动其中一个节点(/etc/init.d/rabbitmq-server restart)
    • 旧铁锹和旧队伍不知怎么又复活了
    不能使用问题中提到的任何方式删除铲子。 我能够移除铲子的唯一方法是在集群中的所有3个节点上禁用铲子插件,然后在每个节点上重新启用每个插件,如下所示:

    rabbitmq-plugins disable rabbit_shovel
    rabbitmq-plugins enable rabbit_shovel
    rabbitmq-plugins enable rabbit_shovel_management
    

    对于恢复的旧队列(随机发生,不涉及任何内容…我称它们为“僵尸”队列),这个问题大约每月发生一次,因此我创建了PostMan脚本来删除恢复的队列。这是一个多年来的问题。我们升级了RMQ,希望能解决这个问题。。。但事实并非如此。也许仲裁队列是一个更健壮的解决方案?如果我有更多的时间去调查/实验,我会的,但是我的优先级更高,我的眼睛都被埋没了。

    我目前也有同样的问题,我使用的是RMQ 3.7.13和Erlang 21.3.1。这3个命令对我来说都失败了。API返回405方法不允许。CLI返回“参数不存在”。UI和/api/spools都显示了2个僵尸铲,但我无法删除。