activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arthur Naseef (JIRA)" <>
Subject [jira] [Commented] (AMQ-3034) Consumers hang when flow control is enabled - unable to proceed?
Date Wed, 06 Jul 2011 23:01:16 GMT


Arthur Naseef commented on AMQ-3034:

This could be a case of using all of the broker's memory so that nothing else continues to
operate.  Check that the broker's memory limits are higher than the limits for queues and
topics so there is room to recover.  Also, once this condition is hit, it may be necessary
to use the JMX console to increase the destination's limit.

One other hint: try "kill -ALRM <pid>" instead of kill -9 if you want a less severe

*Individual Destination*
<policyEntry topic=">" ... memoryLimit="$\{smaller_limit\}" />
<policyEntry queue=">" ... memoryLimit="$\{smaller_limit\}" />

*All Destinations*
<memoryUsage limit="$\{larger_limit\}" />

Don't forget the JVM's -Xmx setting as well.

> Consumers hang when flow control is enabled - unable to proceed?
> ----------------------------------------------------------------
>                 Key: AMQ-3034
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.2
>         Environment: ubuntu linux 9.10
>            Reporter: Jim Plush
>            Priority: Critical
> I was seeing odd behavior in production and created a test case around the follow issue....
> I have a producer that will attempt to enqueue 1 million messages in a while  loop. I
set the activemq.xml systemUsage settings to the following very
low to reproduce the problem. 
> about 1700 messages in I hit the memory and tempUsage limits for NON_PERSISTENT messages.
My activemq log file now says: 
> 2010-11-12 15:25:28,777 | INFO  | Usage Manager Temp Store is Full (99% of 104857600).
Stopping producer (ID:grv-crawl04-35650-1289603606125-0:0:1:1) to prevent flooding queue://benchmarks2.
See for more info (blocking for: 722s)
| | ActiveMQ Transport: tcp:///
> which is expected as I just hit flow control. On another machine I fire up a consumer
to try and dequeue messages while the producer is blocking. It's now in a state where I can't
enqueue OR dequeue as the consumer times out on the .receive(10000) command. The only thing
I can do at this point is restart the server which loses all the NON_PERSISTENT messages.
> Expected Result:
> Producer would hang when resources are maxed out, fire up a Consumer on another machine
and it starts to dequeue and free up space, the producer slowly starts to enqueue messages
> Producer Code:
> Consumer Code:
>  Version: apache-activemq-5.5-SNAPSHOT

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message