activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stirling Chow (JIRA)" <>
Subject [jira] Created: (AMQ-2552) Automatic message expiration may not occur on a queue with no (or slow) consumers.
Date Tue, 29 Dec 2009 00:22:40 GMT
Automatic message expiration may not occur on a queue with no (or slow) consumers.

                 Key: AMQ-2552
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.3.1
         Environment: ActiveMQ 5.3.1 Snapshot r893661
            Reporter: Stirling Chow

If a queue is loaded with 400+ messages that never expire, and then a message that does expire
is added to the end of the queue, the added message will not be processed by the Broker's
expiration logic until some of the 400+ unexpired messages are consumed.  A unit test is provided
to demonstrate this issue.

These test cases worked for AMQ 5.3, but not for AMQ 5.3.1-SNAPSHOT r893661.

Our application uses message expiration to trigger actions when messages are left in a queue
for too long a period.  In many cases, there are no consumers on the queue containing the
messages that might expire.  Prior versions of AMQ only expired messages when an attempt was
made to dispatch them to a consumer, but AMQ-1112 introduce the notion of periodic, automatic
expiration of pending messages (see the expireMessagesPeriod policy).  With this periodic
expiration, our expectation is that expired messages will be detacted and processed in a timely
fashion, regardless of the presence of consumers on the queue.

AMQ-2481 removed forced paging from the periodically-called expireMessages() method:


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

View raw message