Skip to content

rabbitmqctl cluster_status with json formatter has broken output for running_nodes #14398

@noonedeadpunk

Description

@noonedeadpunk

Describe the bug

In RabbitMQ 4.1.2 output of rabbitmqctl cluster_status --formatter json | jq ".running_nodes" returns a string without any separation rather then a list, like it does for disk_nodes for example:

# rabbitmqctl cluster_status --formatter json | jq ".running_nodes"
"rabbit@rabbitmq02rabbit@rabbitmq01rabbit@rabbitmq03"
# rabbitmqctl cluster_status --formatter json | jq ".disk_nodes"
[
  "rabbit@rabbitmq01",
  "rabbit@rabbitmq02",
  "rabbit@rabbitmq03"
]

This used to work for us in 4.0.9 at very least.

With that, output a formater (table) or erlang is rendering normally:

Disk Nodes

rabbit@rabbitmq01
rabbit@rabbitmq02
rabbit@rabbitmq03

Running Nodes

rabbit@rabbitmq01
rabbit@rabbitmq02
rabbit@rabbitmq03
# rabbitmqctl cluster_status --formatter erlang
Cluster status of node rabbit@rabbitmq03 ...
[{nodes,[{disc,[rabbit@rabbitmq01,rabbit@rabbitmq02,rabbit@rabbitmq03]}]},
 {running_nodes,[rabbit@rabbitmq02,rabbit@rabbitmq01,rabbit@rabbitmq03]},
 {cluster_name,<<"rabbitmq_cluster1">>},
 {partitions,[]},
 {cluster_tags,[]},
 {alarms,
     [{rabbit@rabbitmq03,[]},{rabbit@rabbitmq02,[]},{rabbit@rabbitmq01,[]}]},

Reproduction steps

  1. rabbitmqctl cluster_status --formatter json | jq ".running_nodes"

Expected behavior

[
  "rabbit@rabbitmq01",
  "rabbit@rabbitmq02",
  "rabbit@rabbitmq03"
]

Additional context

Running following versions:

  • erlang 27.3.4.2
  • rabbitmq 4.1.2
  • OS: Debian 12 / Ubuntu 24.04 / CentOS Stream 10

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions