You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Mario Lukica (JIRA)" <ji...@apache.org> on 2008/06/10 19:53:00 UTC

[jira] Created: (AMQ-1789) queue.send() throws ResourceAllocationException without checking usageManager when sendFailIfNoSpace is set

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


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.


[jira] Assigned: (AMQ-1789) queue.send() throws ResourceAllocationException without checking usageManager when sendFailIfNoSpace is set

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-1789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies reassigned AMQ-1789:
-------------------------------

    Assignee: Rob Davies

> 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
>
> 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.


[jira] Resolved: (AMQ-1789) queue.send() throws ResourceAllocationException without checking usageManager when sendFailIfNoSpace is set

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-1789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies resolved AMQ-1789.
-----------------------------

    Fix Version/s: 5.1.0
       Resolution: Fixed

This is fixed in 5.1 - we are not planning patch releases for 4.x branches for apache - so an upgrade to 5.1 is recommended

> 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.


[jira] Closed: (AMQ-1789) queue.send() throws ResourceAllocationException without checking usageManager when sendFailIfNoSpace is set

Posted by "Mario Lukica (JIRA)" <ji...@apache.org>.
     [ 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.