summaryrefslogtreecommitdiff
path: root/deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex
diff options
context:
space:
mode:
Diffstat (limited to 'deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex')
-rw-r--r--deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex14
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