[
https://issues.apache.org/activemq/browse/AMQ-1789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mario Lukica closed AMQ-1789.
-----------------------------
Switched to 5.3.0 and problem does not exist there.
> queue.send() throws ResourceAllocationException without checking usageManager
> when sendFailIfNoSpace is set
> -----------------------------------------------------------------------------------------------------------
>
> Key: AMQ-1789
> URL: https://issues.apache.org/activemq/browse/AMQ-1789
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 4.1.2
> Reporter: Mario Lukica
> Assignee: Rob Davies
> Fix For: 5.1.0
>
>
> org.apache.activemq.broker.region.Queue send(ConnectionContext, Message)
> method always throws ResourceAllocationException if sendFailIfNoSpace is set,
> producerFlowControl is enabled, message response is not required and network
> connection is not used to connect to broker.
> In this case thread execution ends up in following code block:
> {code}
> ...
> } else {
> if (usageManager.isSendFailIfNoSpace() ) {
> throw new javax.jms.ResourceAllocationException("Usage
> Manager memory limit reached");
> } else {
> while( !usageManager.waitForSpace(1000) ) {
> if( context.getStopping().get() )
> throw new IOException("Connection closed, send
> aborted.");
> }
> }
> }
> {code}
> ... usageManager is never checked for space prior to throwing
> ResourceAllocationException("Usage Manager memory limit reached"), and no
> message can be sent to this queue, regardless of the usageManager set on
> queue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.