rabbitmq / rabbitmq-server

Open source RabbitMQ: core server and tier 1 (built-in) plugins
https://www.rabbitmq.com/
Other
11.86k stars 3.9k forks source link

Failure to export some runtime parameters in rabbitmqctl export_definitions #11612

Closed dcorbacho closed 3 days ago

dcorbacho commented 5 days ago

Describe the bug

export_definitions of federation-upstream-set parameters fails during export because of formatting errors:

rabbitmqctl export_definitions def.json
Exporting definitions in JSON to a file at "def.json" ...
Error:
{:badarg, [{:maps, :from_list, [[%{"upstream" => "up-1"}, %{"upstream" => "up-2"}]], [error_info: %{module: :erl_stdlib_errors}]}, {:rabbit_definitions, :runtime_parameter_definition, 1, [file: ~c"rabbit_definitions.erl", line: 1084]}, {:rabbit_definitions, :"-list_runtime_parameters/0-lc$^0/1-0-", 1, [file: ~c"rabbit_definitions.erl", line: 1077]}, {:rabbit_definitions, :all_definitions, 0, [file: ~c"rabbit_definitions.erl", line: 275]}]}

This was reported for 3.12.4 but can be reproduced in main

Reproduction steps

  1. Start a node with rabbitmq_federation enabled
  2. Set rabbitmqctl set_parameter federation-upstream-set location-1 '[{"upstream": "up-1"}, {"upstream": "up-2"}]'
  3. Export rabbitmqctl export_definitions def.json

Expected behavior

Definitions should be exported successfully

Additional context

No response