rabbitmqctl status errors and claims that rabbit_amqp1_0:list_local/0
is an undefined function
#13021
-
Describe the bugWhen running
When I changed the name of list_local/0 to something like list_local_my/0, it ran normally. Reproduction stepsrunning Expected behavior
Additional contextNo response |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
@hzsunzixiang I cannot reproduce with a According to the exception, I do not understand how you changed We need a specific set of steps to reproduce. |
Beta Was this translation helpful? Give feedback.
-
def run([], %{node: node_name, timeout: timeout}) do
:rabbit_misc.rpc_call(node_name, :rabbit, :status, [], timeout)
end
It calls a lot of functions but the most relevant parts is -spec local_connections() -> [rabbit_types:connection()].
local_connections() ->
Amqp091Pids = pg_local:get_members(rabbit_connections),
Amqp10Pids = rabbit_amqp1_0:list_local(),
Amqp10Pids ++ Amqp091Pids. and -module(rabbit_amqp1_0).
-export([list_local/0,
register_connection/1]).
%% (elided for brevity)
-spec list_local() -> [pid()].
list_local() ->
pg:which_groups(pg_scope()). Moreover, I do not understand how changing @hzsunzixiang I have walked you through the entire code path with evidence that the function in question does exist, and it is just two function calls away from the
Since no one else has reported something similar since |
Beta Was this translation helpful? Give feedback.
-
If this repo is any indication, the node could have been built from source using a custom build system. In my case, the node I use is a generic binary build from Our team won't spend any time on troubleshooting custom RabbitMQ distributions. If you build it from source, you own it, you debug it, you maintain it from start to finish. |
Beta Was this translation helpful? Give feedback.
-
Closing since there were not response to my findings in the code. Most likely this uses a custom build system (see above) and the standard RabbitMQ distribution works as expected, according to the studied code paths. |
Beta Was this translation helpful? Give feedback.
rabbitmq-diagnostics status
(exactly the same command asrabbitmqctl status
) callsrabbit:status/0
:rabbit:status/0
is defined inrabbit.erl
.It calls a lot of functions but the most relevant parts is
rabbit_networking:local_connections/0
which looks like this:
and
rabbit_amqp1_0:list_loca/0
does exist inv4.0.x
, and its exported: