activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-2618) systemUsage tempUsage limit causes broker to lock up when using permanent queue with persistent messages
Date Wed, 03 Mar 2010 12:49:44 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-2618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57991#action_57991
] 

Gary Tully commented on AMQ-2618:
---------------------------------

To make this not hang, the blocking on usage needs an overhaul such that it can be aware of
the connection context or the shutdown needs to interrupt waiting threads.
One issue is that the pendingmessage cursors use the temp store and these are per subscription
or durable topic subscription. The messages are present in the store so it is too late for
sendFailIfNoSpace to kick in and throw an exception. 
Gating each send on available usage up front may be the simplest approach but that will have
lots of side effects like not being aware of flushing to disk when a cache is exhausted. Not
sure how to proceed with this at the moment. Needs more thought.

> systemUsage tempUsage limit causes broker to lock up when using permanent queue with
persistent messages
> --------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2618
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2618
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.3.0
>            Reporter: Mats Henrikson
>            Assignee: Gary Tully
>         Attachments: UnlimitedEnqueueTest.java
>
>
> It is possible to hang the broker when setting a systemUsage tempUsage limit with permanent
queues and persistent messages.
> I have attached a test class that demonstrates the problem. I got the test case from
AMQ-2610 and have essentially only added the line:
> {code}
> brokerService.getSystemUsage().getTempUsage().setLimit(10 * 1024 * 1024);
> {code}
> When that line is in the code the test case hangs after 995 messages, when the line is
commented out it runs probably until it runs out of disk space.
> When the broker hangs a ctrl+C is not enough to shut it down, when connecting over JMX
with JConsole the queue being used in the test will not render its attributes, you can't connect
with another consumer or producer etc.

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


Mime
View raw message