[
https://issues.apache.org/activemq/browse/AMQ-1868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44495#action_44495
]
Hans Bausewein commented on AMQ-1868:
-------------------------------------
One more:
http://activemq.apache.org/slow-consumers.html
I think persistent queue messages should be saved to disk, so the memory limit
should not be an issue.
Maybe one of the developers can say something better about this?
But in the end you'll probably have the same issue: when the disk limit is
reached, your producer will block.
... until a consumer takes some messages.
Hans
> Producer block when queue memory limit is setted to 5Mb and no consumer is
> actived
> ----------------------------------------------------------------------------------
>
> Key: AMQ-1868
> URL: https://issues.apache.org/activemq/browse/AMQ-1868
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.1.0
> Environment: Unix, jdk 1.5.0_12, AMQ 5.1.0
> Reporter: Alessandro Zanfardino
> Attachments: activemq.xml, AMQTester.zip
>
>
> Hallo
> I'm using the attached source code to test AMQ 5.1.0
> I'm using following setting:
> //SESSION
> ackMode = Session.AUTO_ACKNOWLEDGE;
> //FACTORY
> dispatchAsync = true;
> useAsyncSend = false;
> //PRODUCERS
> DelveryMode=Pesrsistent
> timeToLive = 21600000; //6h
> If I use the following configuration in activemq.xml:
> <memoryUsage limit="20 mb"/>
> <policyEntry queue=">" memoryLimit="5mb"/>
> I noted this behaviour:
> if producer starts a loop of sendMessage on a queue where no consumer is
> listen, after N messages, when the 5Mb are full, producer is blocked.
> Block ends when some consumer registers a listener on this queue and start
> to conuming messages.
>
> If I change the configuration, removing queue memory limit like below:
> <memoryUsage limit="20 mb"/>
> <policyEntry queue=">" />
> and producer starts a loop of sendMessage on a queue where no consumer
> is listen, producer is NEVER blocked.
> Memory usage percentage go up until 90% and then remains steady, but
> producer continues to send.
> I expected this same behaviour when queue memory limit was 5Mb, also.
> Further, I set values for queue memory limit higher than 5Mb and
> repeated the test :
> memoryLimit="10 mb" => producer was blocked
> memoryLimit="18 mb" (=90% of 20Mb) => producer was blocked
> memoryLimit="19 mb" ( >90% of 20Mb) => producer NEVER blocked
> I expected that producer NEVER blocked in every cases.
> Please can you help me for this issue?
> Feel free to ask me other details.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.