From cc95d3771887093afc4d5e1e1b00f8bbd3c8d067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20G=C3=B6m=C3=B6ri?= Date: Fri, 11 Jul 2025 09:29:58 +0200 Subject: [PATCH] Handle type state being undefined for very old queues Field #amqqueue.type_state can be undefined for queues declared on old RabbitMQ versions before 3.8.0. Ensure `amqqueue:get_type_state/1` always returns a map according to its type spec to make life of calling code easier. --- deps/rabbit/src/amqqueue.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/rabbit/src/amqqueue.erl b/deps/rabbit/src/amqqueue.erl index 38c9065c657d..8bf5a2345f19 100644 --- a/deps/rabbit/src/amqqueue.erl +++ b/deps/rabbit/src/amqqueue.erl @@ -464,7 +464,7 @@ set_policy_version(#amqqueue{} = Queue, PV) -> % type_state (new in v2) -spec get_type_state(amqqueue()) -> map(). -get_type_state(#amqqueue{type_state = TState}) -> +get_type_state(#amqqueue{type_state = TState}) when is_map(TState) -> TState; get_type_state(_) -> #{}.