Github user lulf commented on the issue:
https://github.com/apache/activemq-artemis/pull/2401
The use case is covered in
https://issues.apache.org/jira/browse/ARTEMIS-1710
In a cloud-setting, we need to:
a) Have the broker derive (global) limits based on things like heap memory
in order to avoid falling over. This may be configured statically in the
broker.xml
b) Allow management messages to get through even if other addresses are
blocked by global-max-size (using BLOCK/FAIL policy, we do not wish to use
PAGE) so that our system can keep operating even if queues are full (i.e. we
can fetch queue stats and report back to user always)
Also, keep in mind that:
a) We don't know what addresses will exist beforehand and they are created
via management address.
b) We want to avoid setting limits per address via management, as that gets
super slow (I know this was confirmed by someone a while back, i don't know the
jira number). Perhaps the address-space limits proposed by @mtaylor would work
around that allowing us to set it statically for all addresses and make
management an exception in our configuration. I'm not sure how that would work
with not knowing the limits beforehand, or if it would be possible to 'disable'
the limit for management addresses by setting it to some special value.
---