You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Stephanie Miotke (JIRA)" <ji...@apache.org> on 2011/06/08 00:48:59 UTC

[jira] [Commented] (AMQ-3034) Consumers hang when flow control is enabled - unable to proceed?

    [ https://issues.apache.org/jira/browse/AMQ-3034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13045689#comment-13045689 ] 

Stephanie Miotke commented on AMQ-3034:
---------------------------------------

I am able to recreate this problem in ActiveMQ 5.5. The only solution I have found so far is to fully disable temp storage (by removing the policyEntry memoryLImit line from activemq.xml). Once I've done this, I'm able to successfully shutdown and start up activeMQ even if it is in a full state - blocking new messages. 

> Consumers hang when flow control is enabled - unable to proceed?
> ----------------------------------------------------------------
>
>                 Key: AMQ-3034
>                 URL: https://issues.apache.org/jira/browse/AMQ-3034
>             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 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira