Может кто-нибудь помочь понять следующие ошибки, где RabbitMQ находится в состоянии ошибки? - PullRequest
2 голосов
/ 09 января 2020

Я получаю эту ошибку снова и снова.

"operation none caused a connection exception connection_forced: "broker forced connection closure with reason 'shutdown'"

Для вышеуказанной ошибки я уже нашел что-то из этого https://bugzilla.redhat.com/show_bug.cgi?id=1343027 т.е. Rabbit может присоединиться к кластеру rabbitmq, если контроллер-0 был перезагружен, подошел, запустил все ресурсы и только когда все работает контроллер-1 идет на перезагрузку. Другими словами, все должно работать при перезагрузке одного из контроллеров. Если по какой-то причине контроллер-1 перезагружается, а контроллер-0 не полностью восстанавливается после его перезагрузки - неправильно go.

Но я не уверен, почему в файле журнала ошибок также отображается указанная ниже ошибка :

=ERROR REPORT==== 29-Dec-2019::17:44:26 === Mnesia('messaging@rabbit-2'): ** ERROR ** (ignoring core) ** FATAL ** mnesia_monitor crashed: {badarg, [{ets, lookup, [mnesia_decision, 'messaging@rabbit-3'], []}, {mnesia_recover, has_mnesia_down, 1, [{file, "mnesia_recover.erl"}, {line, 299}]}, {mnesia_monitor, check_mnesia_down, 2, [{file, "mnesia_monitor.erl"}, {line, 862}]}, {mnesia_monitor, handle_info, 2, [{file, "mnesia_monitor.erl"}, {line, 579}]}, {gen_server, try_dispatch, 4, [{file, "gen_server.erl"}, {line, 615}]}, {gen_server, handle_msg, 5, [{file, "gen_server.erl"}, {line, 681}]}, {proc_lib, init_p_do_apply, 3, [{file, "proc_lib.erl"}, {line, 240}]}]} state: {state, <0.745.0>, [], [], true, [], undefined, [], []}

1 Ответ

1 голос
/ 07 февраля 2020

В сообщении об ошибке говорится, что один системный процесс в базе данных Mnesia, mnesia_monitor падает, когда он пытается найти значение из таблицы ETS (mnesia_decision), принадлежащей другому системному процессу в базе данных, mnesia_recover , Это может произойти, только если таблица ETS больше не существует, то есть, если mnesia_recover остановлен.

В этом сообщении об ошибке не говорится, почему mnesia_recover остановился. Если произошел сбой, в журнале должно появиться другое сообщение об этом событии. Но также возможно, что все приложение Mnesia было остановлено в это время, потому что супервизор остановит mnesia_recover до mnesia_monitor. Если это так, то эта ошибка вызвана просто неправильным временем: mnesia_monitor видит, что узел messaging@rabbit-3 подходит к точке, когда Mnesia на своем узле уже закрывается.

...