JBoss A-MQ shows Producer Flow Control kicks in when large message is sent

Solution Verified - Updated -

Issue

  • How do I sent large message to JBoss A-MQ? The average message size is around 4mb, and using the default AMQ 6.3 setup, I use the activemq producer to test it. 1GB heap and 1mb memory will trigger a OOME and pfc, and I think it is related to https://issues.jboss.org/browse/ENTMQ-1090
    Once I increased the heap to 2GB, no more OOME but I still encountered pfc after 453 or 4mb messages [1]. Increasing the memory limit I can avoid that problem, but what I don't understand is why. I thought pfc will be trigger until the kahadb ran out of space, and if memoryLimit is set to 1mb and a 4mb message should have triggered PFC at the first messages but it didn't. Why would I encounter PFC after 453 messages sent? Is there a formula to help guide the memoryLimit?

  • The maxExpirePageSize, maxBrowsePageSize and maxPageSize A-MQ Destination Properties policies are not adequately documented. Customer wanted clarification on their use and possible interrelationships.

[1]
2016-11-08 13:47:40,929 | INFO | .0.1:33303@61616 | Queue | 162 - org.apache.activemq.activemq-osgi - 5.11.0.redhat-630187 | Usage Manager Memory Limit (1048576) reached on queue://TEST, size 453. 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.

Environment

JBoss A-MQ 6.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.