activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mats Henrikson (JIRA)" <>
Subject [jira] Commented: (AMQ-2616) filling a temporary queue and disconnecting does not free the queues Usage Manager memory limit
Date Thu, 18 Feb 2010 02:14:40 GMT


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
> -----------------------------------------------------------------------------------------------
>                 Key: AMQ-2616
>                 URL:
>             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 for more
> {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.

View raw message