Description
Is your feature request related to a problem? Please describe.
Polling consumers can waste a non-trivial amount of resources because, well, that's typical of polling.
Describe the solution you'd like
We could use the deprecated feature mechanism but the goal is not so much to deprecate polling consumers
but to disable them entirely.
I would need to take a look at how the similar features are grouped in rabbitmq.conf
(since feature flags in RabbitMQ are an upgrade/mixed version cluster safety mechanism, not a way to disable features)
but it should be done node-wide.
Clients would get a channel or even a connection error (which are considered unrecoverable in the protocol) if a basic.get
frame is received and this feature is disabled.
A small efficiency hit to basic.get
is acceptable because basic.get
and polling are fundamentally not efficient to begin with, plus we can store this state in a persistent term or even AMQP 0-9-1 channel state.
Describe alternatives you've considered
We have had metrics for polling consumers for a while but many application developers do not pay any attention to them or simply don't have access to the metrics.
Additional context
No response