Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-2313

Fails to load journal after queue full

    XMLWordPrintable

Details

    • AMQ Broker 2619, AMQ Broker 2919
    • Hide

      The broker is configured with these settings:

      A single anycast address with a single queue
      Address-full-policy = FAIL
      Global-max-size -1 => default to 1/2 JVM heap

      After sending a lot of messages, I get the expected error message on the client:

      AMQ229102: Address "myqueue" is full.: ActiveMQAddressFullException[errorType=ADDRESS_FULL message=AMQ229102: Address "myqueue" is full.]
      

      However, when I restart the broker, it is unable to start due to an OOM when loading the journal:

      2019-02-19 11:23:35,177 ERROR [org.apache.activemq.artemis.core.server] AMQ224097: Failed to start server: java.lang.OutOfMemoryError: Java heap space
      
      Show
      The broker is configured with these settings: A single anycast address with a single queue Address-full-policy = FAIL Global-max-size -1 => default to 1/2 JVM heap After sending a lot of messages, I get the expected error message on the client: AMQ229102: Address "myqueue" is full.: ActiveMQAddressFullException[errorType=ADDRESS_FULL message=AMQ229102: Address "myqueue" is full.] However, when I restart the broker, it is unable to start due to an OOM when loading the journal: 2019-02-19 11:23:35,177 ERROR [org.apache.activemq.artemis.core.server] AMQ224097: Failed to start server: java.lang.OutOfMemoryError: Java heap space
    • User Experience
    • Workaround Exists
    • Hide

      Reducing the global-max-size to be 1/4 instead of the default of 1/2 helps the JVM to not goes OOM while loading the journal back, while making the broker to page more agressively while running (ie earlier).

      Show
      Reducing the global-max-size to be 1/4 instead of the default of 1/2 helps the JVM to not goes OOM while loading the journal back, while making the broker to page more agressively while running (ie earlier).
    • High
    • +
    • Verified in a release

    Description

      I'm getting an OOM error when loading the Artemis journal after producing messages until it is 'full'.

      Setting the global-max-size explicitly to 1/4th of the JVM heap fixes the issue for me.

      In order to provide more robust defaults, I think the default should be decreased from 1/2 to 1/4 of JVM heap.

      This is happening mostly with a journal filled of AMQP messages.

      Attachments

        Issue Links

          Activity

            People

              fnigro Francesco Nigro
              fnigro Francesco Nigro
              Tiago Bueno Tiago Bueno
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: