You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Mats Henrikson (JIRA)" <ji...@apache.org> on 2010/02/18 02:56:40 UTC

[jira] Created: (AMQ-2616) filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit

filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit
-----------------------------------------------------------------------------------------------

                 Key: AMQ-2616
                 URL: https://issues.apache.org/activemq/browse/AMQ-2616
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.3.1
            Reporter: Mats Henrikson


Starting a broker running the latest 5.3.1 snapshot with the simple attached configuration, then connecting a producer that sends messages to a temporary queue (without any consumer on it) until it hits the Usage Manager memory limit and gives this message:

{panel}
INFO  Topic - Usage Manager memory limit reached for temp-topic://ID:sts-chc-matsh-33157-1266457317460-0:0:1. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it. See http://activemq.apache.org/producer-flow-control.html for more info
{panel}

If you then disconnect the producer you get a log message that the temporary queue is being removed, but if you connect another producer and try to produce to a new temporary queue no messages are accepted, and the broker just prints the "Usage Manager memory limit reached" message again. 

This is a denial of service since if you now connect a consumer on a new temporary queue no messages will be accepted for that temporary queue.

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


[jira] Updated: (AMQ-2616) filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit

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

Mats Henrikson updated AMQ-2616:
--------------------------------

    Attachment: activemq.xml

> filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit
> -----------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2616
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2616
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.1
>            Reporter: Mats Henrikson
>         Attachments: activemq.xml
>
>
> Starting a broker running the latest 5.3.1 snapshot with the simple attached configuration, then connecting a producer that sends messages to a temporary queue (without any consumer on it) until it hits the Usage Manager memory limit and gives this message:
> {panel}
> INFO  Topic - Usage Manager memory limit reached for temp-topic://ID:sts-chc-matsh-33157-1266457317460-0:0:1. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it. See http://activemq.apache.org/producer-flow-control.html for more info
> {panel}
> If you then disconnect the producer you get a log message that the temporary queue is being removed, but if you connect another producer and try to produce to a new temporary queue no messages are accepted, and the broker just prints the "Usage Manager memory limit reached" message again. 
> This is a denial of service since if you now connect a consumer on a new temporary queue no messages will be accepted for that temporary queue.

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


[jira] Commented: (AMQ-2616) filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit

Posted by "Mats Henrikson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57649#action_57649 ] 

Mats Henrikson commented on AMQ-2616:
-------------------------------------

A more realistic sequence of events is this:
# ConsumerA sends RequestB to QueueC, with a reply-to of TempQueueD.
# ProducerE receives RequestB and starts sending messages back to TempQueueD.
# ConsumerA runs out of memory and dies, the broker closes the connection.
# ProducerE continues sending messages to TempQueueD until the broker Usage Manager Memory Limit is reached. From this point no producer can send any messages to any temporary queues.
# The sysadmins discover something is wrong and kill ProducerE, the broker claims to free up the resources, however the problem remains.

> filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit
> -----------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2616
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2616
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.1
>            Reporter: Mats Henrikson
>         Attachments: activemq.xml
>
>
> Starting a broker running the latest 5.3.1 snapshot with the simple attached configuration, then connecting a producer that sends messages to a temporary queue (without any consumer on it) until it hits the Usage Manager memory limit and gives this message:
> {panel}
> INFO  Topic - Usage Manager memory limit reached for temp-topic://ID:sts-chc-matsh-33157-1266457317460-0:0:1. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it. See http://activemq.apache.org/producer-flow-control.html for more info
> {panel}
> If you then disconnect the producer you get a log message that the temporary queue is being removed, but if you connect another producer and try to produce to a new temporary queue no messages are accepted, and the broker just prints the "Usage Manager memory limit reached" message again. 
> This is a denial of service since if you now connect a consumer on a new temporary queue no messages will be accepted for that temporary 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-2616) filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit

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

Rob Davies resolved AMQ-2616.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 5.4.0
                   5.3.1

Fixed in 5.3.1 by SVN  revision 912656 
and trunk by SVN revision 912652

> filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit
> -----------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2616
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2616
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.1
>            Reporter: Mats Henrikson
>            Assignee: Rob Davies
>             Fix For: 5.3.1, 5.4.0
>
>         Attachments: activemq.xml
>
>
> Starting a broker running the latest 5.3.1 snapshot with the simple attached configuration, then connecting a producer that sends messages to a temporary queue (without any consumer on it) until it hits the Usage Manager memory limit and gives this message:
> {panel}
> INFO  Topic - Usage Manager memory limit reached for temp-topic://ID:sts-chc-matsh-33157-1266457317460-0:0:1. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it. See http://activemq.apache.org/producer-flow-control.html for more info
> {panel}
> If you then disconnect the producer you get a log message that the temporary queue is being removed, but if you connect another producer and try to produce to a new temporary queue no messages are accepted, and the broker just prints the "Usage Manager memory limit reached" message again. 
> This is a denial of service since if you now connect a consumer on a new temporary queue no messages will be accepted for that temporary 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-2616) filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit

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

Rob Davies reassigned AMQ-2616:
-------------------------------

    Assignee: Rob Davies

> filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit
> -----------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2616
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2616
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.1
>            Reporter: Mats Henrikson
>            Assignee: Rob Davies
>         Attachments: activemq.xml
>
>
> Starting a broker running the latest 5.3.1 snapshot with the simple attached configuration, then connecting a producer that sends messages to a temporary queue (without any consumer on it) until it hits the Usage Manager memory limit and gives this message:
> {panel}
> INFO  Topic - Usage Manager memory limit reached for temp-topic://ID:sts-chc-matsh-33157-1266457317460-0:0:1. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it. See http://activemq.apache.org/producer-flow-control.html for more info
> {panel}
> If you then disconnect the producer you get a log message that the temporary queue is being removed, but if you connect another producer and try to produce to a new temporary queue no messages are accepted, and the broker just prints the "Usage Manager memory limit reached" message again. 
> This is a denial of service since if you now connect a consumer on a new temporary queue no messages will be accepted for that temporary queue.

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