Skip to content

Commit 94701c6

Browse files
authored
An exception occurred while declaring a queue, after importing definitions
the version of erlang is erlang-25.3.2.6-1.el8.x86_64. the version of rabbitmq-server is rabbitmq-server-3.12.10-1. To reproduce the exception as follows: 1. rabbitmqctl export_definitions def.json 2. rabbitmqctl import_definitions def.json 3. The result of ''rabbit_definitions:list_vhosts()' is: [root@c1 ssl]# rabbitmqctl eval 'rabbit_definitions:list_vhosts().' [#{<<"limits">> => [], <<"metadata">> => #{default_queue_type => undefined, description => <<"Default virtual host">>,tags => []}, <<"name">> => <<"/">>} 4. rabbitmqctl export_definitions def.json 5. rabbitmqctl import_definitions def.json 6. The result of ''rabbit_definitions:list_vhosts()' is: [root@c1 ssl]# rabbitmqctl eval 'rabbit_definitions:list_vhosts().' [#{<<"limits">> => [], <<"metadata">> => #{default_queue_type => <<"undefined">>, description => <<"Default virtual host">>,tags => []}, <<"name">> => <<"/">>} 7. Declare a queue and an exception will appear, as shown below: 2024-03-29 17:38:09.696 [error] <0.1441.0> ** Generic server <0.1441.0> terminating, ** Last message in was {'$gen_cast', {method, {'queue.declare',0,<<"q12">>,false,false, false,false,false,[]}, none,noflow}}, ** When Server state == {ch, {conf,running,rabbit_framing_amqp_0_9_1,1, <0.1432.0>,<0.1439.0>,<0.1432.0>, <<"10.225.80.5:40388 -> 10.225.80.5:5673">>, undefined, {user,<<"guest">>, [administrator], [{rabbit_auth_backend_internal, #Fun<rabbit_auth_backend_internal.3.2577553>}]}, <<"/">>,<<>>,<0.1433.0>, [{<<"authentication_failure_close">>,bool,true}, {<<"basic.nack">>,bool,true}, {<<"connection.blocked">>,bool,true}, {<<"consumer_cancel_notify">>,bool,true}, {<<"publisher_confirms">>,bool,true}], none,0,134217728,1800000,#{},1000000000,false}, {lstate,<0.1440.0>,false}, none,1, {0,[],[]}, {state,#{},erlang}, #{},#{}, {state,fine,30000, #Ref<0.3663679405.4218945538.136240>}, true,1, {rabbit_confirms,undefined,#{}}, [],[],none,flow,[], {rabbit_queue_type,#{}}, #Ref<0.3663679405.4218945537.194739>,false, {erlang,#Ref<0.3663679405.4218945537.194740>}, "none",false}, ** Reason for termination == , ** {function_clause, [{rabbit_queue_type,discover, [<<"undefined">>], [{file,"rabbit_queue_type.erl"},{line,225}]}, {rabbit_amqqueue,augment_declare_args,5, [{file,"rabbit_amqqueue.erl"},{line,804}]}, {rabbit_channel,handle_method,6, [{file,"rabbit_channel.erl"},{line,2762}]}, {rabbit_channel,handle_method,3, [{file,"rabbit_channel.erl"},{line,1828}]}, {rabbit_channel,handle_cast,2, [{file,"rabbit_channel.erl"},{line,728}]}, {gen_server2,handle_msg,2,[{file,"gen_server2.erl"},{line,1056}]}, {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]},
1 parent dd5686a commit 94701c6

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

deps/rabbit/src/rabbit_vhost.erl

+5-1
Original file line numberDiff line numberDiff line change
@@ -318,14 +318,18 @@ put_vhost(Name, Description, Tags0, Trace, Username) ->
318318
boolean(),
319319
rabbit_types:username()) ->
320320
'ok' | {'error', any()} | {'EXIT', any()}.
321-
put_vhost(Name, Description, Tags0, DefaultQueueType, Trace, Username) ->
321+
put_vhost(Name, Description, Tags0, DefaultQueueType0, Trace, Username) ->
322322
Tags = case Tags0 of
323323
undefined -> <<"">>;
324324
null -> <<"">>;
325325
"undefined" -> <<"">>;
326326
"null" -> <<"">>;
327327
Other -> Other
328328
end,
329+
DefaultQueueType = case DefaultQueueType0 of
330+
<<"undefined">> -> undefined;
331+
_ -> DefaultQueueType0
332+
end,
329333
ParsedTags = parse_tags(Tags),
330334
rabbit_log:debug("Parsed tags ~tp to ~tp", [Tags, ParsedTags]),
331335
Result = case exists(Name) of

0 commit comments

Comments
 (0)