Consumers hang when flow control is enabled - unable to proceed?
----------------------------------------------------------------
Key: AMQ-3034
URL: https://issues.apache.org/activemq/browse/AMQ-3034
Project: ActiveMQ
Issue Type: Bug
Components: Broker
Affects Versions: 5.5.0
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
http://pastebin.com/hJXnPHKK 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
http://activemq.apache.org/producer-flow-control.html for more info (blocking
for: 722s) | org.apache.activemq.broker.region.Queue | ActiveMQ Transport:
tcp:///10.128.129.20:38430
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 again.
Producer Code: http://pastebin.com/stAN5UJv
Consumer Code: http://pastebin.com/dWuWWATr
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.