diff options
Diffstat (limited to 'deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex')
-rw-r--r-- | deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex index 788b92b065..8e77a62255 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex @@ -17,7 +17,7 @@ defmodule RabbitMQ.CLI.DefaultOutput do end def output(result, opts \\ %{}) do - format_output(normalize_output(result, opts)) + format_output(format_khepri_output(normalize_output(result, opts), opts)) end def mnesia_running_error(node_name) do @@ -68,6 +68,18 @@ defmodule RabbitMQ.CLI.DefaultOutput do defp normalize_output({unknown, _} = input, _opts) when is_atom(unknown), do: {:error, input} defp normalize_output(result, _opts) when not is_atom(result), do: {:ok, result} + defp format_khepri_output({:error, {:timeout, {:metadata_store, _}}}, %{node: node_name}) do + {:error, RabbitMQ.CLI.Core.ExitCodes.exit_tempfail(), khepri_timeout_error(node_name)} + end + + defp format_khepri_output({:error, :timeout_waiting_for_leader}, %{node: node_name}) do + {:error, RabbitMQ.CLI.Core.ExitCodes.exit_tempfail(), khepri_timeout_error(node_name)} + end + + defp format_khepri_output(result, _opts) do + result + end + defp format_output({:error, _} = result) do result end |