Uploaded image for project: 'A-MQ Messaging-as-a-Service'
  1. A-MQ Messaging-as-a-Service
  2. ENTMQMAAS-2716

Broker will fail to return return management responses to standard-controller fail if broker is full leading to spurious address readiness warnings

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • None
    • address-controller
    • None
    • 2
    • False
    • False
    • Undefined

      If a broker is full (at globalMaxSize), management messages sent by the standard-controller component may fail in the following way:

       

      2021-05-24T22:13:14.869Z WARN [server] AMQ222039: Messages sent to address 'ed889b45-6750-45d7-8c61-7aaf216c7977' are being dropped; size is currently: 0 bytes; max-size-bytes: -1; global-size-bytes: 67,110,168 2021-05-24T22:13:14.869Z WARN [AMQPSessionCallback] AMQ229102: Address "ed889b45-6750-45d7-8c61-7aaf216c7977" is full.: ActiveMQAddressFullException[errorType=ADDRESS_FULL message=AMQ229102: Address "ed889b45-6750-45d7-8c61-7aaf216c7977" is full.] at org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.page(PagingStoreImpl.java:812) at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.addToPage(AbstractJournalStorageManager.java:2235) at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.processRoute(PostOfficeImpl.java:1509) at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:1192) at org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.route(PostOfficeImpl.java:1064) at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.doSend(ServerSessionImpl.java:2163) at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.handleManagementMessage(ServerSessionImpl.java:2045) at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1801) at org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.inSessionSend(AMQPSessionCallback.java:558) at org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.lambda$serverSend$2(AMQPSessionCallback.java:517) at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:65) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)

      This causes error messages  in the AMQ Online console reporting that the address is not configured on the broker.   The message is in fact spurious, the address will be ready.   If the message volumes on the broker is reduced so that the broker is no longer over max-address-size the condition will clear.

      The root cause is https://issues.redhat.com/browse/ENTMQBR-2334 .  The standard-controller could work around the issue in the same manner as the agent (in use a response queue prefixed by amq.management so that the broker never puts management responses to the store).

              Unassigned Unassigned
              keithbwall Keith Wall
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: