From 0c8724b7b932bfc5c49becd3fd7e238e7a1a6c73 Mon Sep 17 00:00:00 2001 From: Luke Bakken Date: Fri, 15 Nov 2019 13:33:43 -0800 Subject: [PATCH] Special-case x-queue-type classic/undefined Fixes #341 --- src/rabbit_misc.erl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index 6955b0d8..898fda61 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -333,8 +333,17 @@ assert_args_equivalence1(Orig, New, Name, Key) -> assert_field_equivalence(OrigTypeVal, NewTypeVal, Name, Key) end. +%% Classic queues do not necessarily have an x-queue-type field associated with them +%% so we special-case that scenario here +%% +%% Fixes rabbitmq/rabbitmq-common#341 +%% assert_field_equivalence(_Orig, _Orig, _Name, _Key) -> ok; +assert_field_equivalence(undefined, {longstr, <<"classic">>}, _Name, <<"x-queue-type">>) -> + ok; +assert_field_equivalence({longstr, <<"classic">>}, undefined, _Name, <<"x-queue-type">>) -> + ok; assert_field_equivalence(Orig, New, Name, Key) -> equivalence_fail(Orig, New, Name, Key).