You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the management UI, when I go to create a new queue and elect to use the Default for virtual host, I am presented with the queue Durability selector. When the virtual host default queue type is quorum or stream, selecting Transient will give me a classic queue instead. Selecting Durable gives me the expected queue type.
When selecting quorum or stream as the queue Type instead of Default for virtual host, the Durability selector disappears.
Reproduction steps
Create a new virtual host with quorum or stream as the default queue type
Go to the Queues and Streams tab
Select your new virtual host in the Virtual host selector
Select Default for virtual host for the queue Type selector
Observe there is a Durability selector visible
Give the queue a name
Select Transient for the Durability selector
Create the queue
Observe it is created as a classic queue
Expected behavior
The Durability selector should not be shown when the default queue type for that virtual host is quorum or stream.
It should also not give me a classic queue when I select Transient but rather an error message (debatable as fixing the above expected behaviour would render the error message irrelevant).
Additional context
No response
The text was updated successfully, but these errors were encountered:
case vhost:get_metadata(V) of
#{default_queue_type := DefaultQueueType}
when is_binary(DefaultQueueType) andalso
not HasQTypeArg ->
Type = rabbit_queue_type:discover(DefaultQueueType),
IsPermitted = is_queue_args_combination_permitted(
Durable, Exclusive),
IsCompatible = rabbit_queue_type:is_compatible(
Type, Durable, Exclusive, AutoDelete),
case IsPermitted andalso IsCompatible of
true ->
%% patch up declare arguments with x-queue-type if there
%% is a vhost default set the queue is durable and not exclusive
%% and there is no queue type argument
%% present
rabbit_misc:set_table_value(Args0,
<<"x-queue-type">>,
longstr,
DefaultQueueType);
false ->
Args0
end;
...
The alternative would be to always patch the args and later fail.
Describe the bug
In the management UI, when I go to create a new queue and elect to use the
Default for virtual host
, I am presented with the queueDurability
selector. When the virtual host default queue type isquorum
orstream
, selectingTransient
will give me aclassic
queue instead. SelectingDurable
gives me the expected queue type.When selecting
quorum
orstream
as the queueType
instead ofDefault for virtual host
, theDurability
selector disappears.Reproduction steps
quorum
orstream
as the default queue typeQueues and Streams
tabVirtual host
selectorDefault for virtual host
for the queueType
selectorDurability
selector visibleTransient
for theDurability
selectorclassic
queueExpected behavior
The
Durability
selector should not be shown when the default queue type for that virtual host isquorum
orstream
.It should also not give me a
classic
queue when I selectTransient
but rather an error message (debatable as fixing the above expected behaviour would render the error message irrelevant).Additional context
No response
The text was updated successfully, but these errors were encountered: