More on the waitForSpace broker lock down.
JConsole indicates that the broker JVM has plenty of heap space remaining when the waitForSpace message is called. In my case the lockup occurs after a certain total message volume has been reached. The total volume is approximately:
Received - 8600
The lockup occurs reliably within +/- 500 messages of that volume. The message size is approximately 2kb. The broker has a maximum heap size of 512M.
I have attempted to fix this issue by modifying the pendingMessageLimitStrategy, however it had no effect on the lockup. Specifically I added
to the policy configuration for all of my topics. I also have tried true and false for persistence.
I am using ActiveMq as the JMS broker for a mule instance and as far as I know all subscribers are non-durable, though I haven't figured out how to confirm this. DEBUG is enabled on the broker and the UsageManager logs things like:
DEBUG UsageManager Memory usage change. from: 1, to: 2
DEBUG UsageManager Memory usage change. from: 1, to: 3
DEBUG UsageManager Memory usage change. from: 99, to: 100
At which point all messaging stops. Is there a configuration change that can be made to eliminate this issue?