[英]RabbitMQ Shovel Stuck in 'Terminated' Status
我們有一個問題,有時,一個動態 shovel(通過 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.7.6
)並確保使用 Erlang 20.3.X
(不是21
)。 如果您仍然可以重現此問題,請在rabbitmq-users
郵件列表中報告。
我們使用的是 RMQ 3.7.13,Erlang 21.3.1。
問題發生的一種可能方式:
無法使用問題中提到的任何方式刪除鏟子。 我能夠移除鏟子的唯一方法是禁用集群中所有 3 個節點上的鏟子插件,然后重新啟用每個節點上的每個插件,如下所示:
rabbitmq-plugins disable rabbit_shovel
rabbitmq-plugins enable rabbit_shovel
rabbitmq-plugins enable rabbit_shovel_management
至於舊隊列復活(隨機發生,不接觸任何東西......我稱它們為“僵屍”隊列),這個問題大約每月發生一次,所以我創建了 PostMan 腳本來刪除復活的隊列。 這是多年來一直存在的問題。 我們升級了 RMQ,希望能解決這個問題……但事實並非如此。 也許仲裁隊列是一個更強大的解決方案? 如果我有更多的時間來調查/實驗,我會的,但我已經被更高優先級的眼球埋沒了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.