activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (Resolved) (JIRA)" <>
Subject [jira] [Resolved] (AMQ-1787) Too many expired queue messages on intermittent consumer causes ActiveMQ to hang
Date Tue, 04 Oct 2011 23:41:34 GMT


Timothy Bish resolved AMQ-1787.

       Resolution: Fixed
    Fix Version/s: 5.4.2

This should have all been resolved with the addition of the purge of inactive destination
along with other fixes for this type of issue.  
> Too many expired queue messages on intermittent consumer causes ActiveMQ to hang
> --------------------------------------------------------------------------------
>                 Key: AMQ-1787
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: Linux
> Sun JDK 1.6.0
>            Reporter: Brian Desai
>            Assignee: Rob Davies
>             Fix For: 5.4.2, 5.2.0
> I have a case where a queue consumer may become inactive for periods of time.  If too
may messages are sent to this queue, and they eventually expire (setting the TTL) before the
consumer comes back online, then once the consumer does come online, I see many of the following
messages printed to the broker console.
> {quote}Failed to fire message expired advisory{quote}
> Once this happens, it seems that no more messages go to any queues, not just the queue
whose consumer was down for a while.  I've looked at the web console, both before and after
this occurs, and the message counts for all queues stop.  It appears that the broker just
gets hung.  I have to kill the broker, and wipe out the data storage in order to get back
to a working state.
> I've tried various memory settings, with the same result.  My TTL was fairly low (60
seconds), as I was testing out the ability to expire messages.  The number of messages in
the queue that were expired were in the 1000+ range.  With a low number of expired messages
(< 100), there was no problem.
> As a work around, I can disable sending of the advisory messages, and turn off processing
of expired messages, but this is not ideal.
> {code:xml}
> <beans>
>   ....
>   <broker  ...  advisorySupport="false">
>     <destinationPolicy>
>         <policyMap>
>             <policyEntries>
>                 <policyEntry queue=">">
>                     <deadLetterStrategy>
>                         <sharedDeadLetterStrategy processExpired="false"/>
>                     </deadLetterStrategy>
>                 </policyEntry>
>                 ...
>             </policyEntries>
>         </policyMap>
>     </destinationPolicy>
>     ...
>   </broker>
> </beans>
> {code}

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message