Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-3234

Memory usage limits may be reported incorrectly.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Abandoned
    • 5.4.2
    • NEEDS_REVIEW
    • Broker
    • All

    Description

      The determination of whether memory usage 'isFull' is performed by first checking if the parent memory usage is full, and the checking if the queue's memory usage itself is full (See line 91 of MemoryUsage.java). However, the reporting of a memory usage full event (at line 548 of Queue.java, reproduced below) creates a message based on the memory usage of the queue alone. So, it's possible that a memory limit may be hit because of the overall Broker memory being consumed, but it will be reported as a limit breach of a smaller queue memory usage amount.

       
      LOG.info("Usage Manager Memory Limit ("
        + memoryUsage.getLimit()
        + ") reached on "
        + getActiveMQDestination().getQualifiedName()
        + ". Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it."
        + " See http://activemq.apache.org/producer-flow-control.html for more info");
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            adrian.trenaman Adrian Trenaman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: