diff --git a/deps/rabbit/priv/schema/rabbit.schema b/deps/rabbit/priv/schema/rabbit.schema index f59479402b60..87fe8b47e773 100644 --- a/deps/rabbit/priv/schema/rabbit.schema +++ b/deps/rabbit/priv/schema/rabbit.schema @@ -889,11 +889,6 @@ end}. {mapping, "channel_max", "rabbit.channel_max", [{datatype, integer}]}. -%% Set the max allowed number of channels per node. -%% `infinity` means "no limit". -%% -%% {channel_max_per_node, infinity}, - {mapping, "channel_max_per_node", "rabbit.channel_max_per_node", [{datatype, [{atom, infinity}, integer]}]}. diff --git a/deps/rabbit/src/rabbit_channel.erl b/deps/rabbit/src/rabbit_channel.erl index f25ee6225196..3a7acf07dd3d 100644 --- a/deps/rabbit/src/rabbit_channel.erl +++ b/deps/rabbit/src/rabbit_channel.erl @@ -1318,7 +1318,7 @@ handle_method(#'basic.consume'{queue = <<"amq.rabbitmq.reply-to">>, _, State = #ch{reply_consumer = ReplyConsumer, cfg = #conf{max_consumers = MaxConsumers}, consumer_mapping = ConsumerMapping}) -> - CurrentConsumers = length(maps:keys(ConsumerMapping)), + CurrentConsumers = maps:size(ConsumerMapping), case maps:find(CTag0, ConsumerMapping) of error when CurrentConsumers >= MaxConsumers -> % false when MaxConsumers is 'infinity' rabbit_misc:protocol_error(