activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Plush (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AMQ-3034) Consumers hang when flow control is enabled - unable to proceed?
Date Fri, 12 Nov 2010 23:39:24 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-3034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jim Plush updated AMQ-3034:
---------------------------

    Description: 
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


 Version: apache-activemq-5.5-SNAPSHOT




  was:
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








> 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
>  Version: apache-activemq-5.5-SNAPSHOT

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message