activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Resolved] (AMQ-3352) failover ConnectionStateTracker can lead to OOM with TextMessages
Date Thu, 02 Jun 2011 22:55:50 GMT


Gary Tully resolved AMQ-3352.

       Resolution: Fixed
    Fix Version/s: 5.6.0

fix in

The state tracker no longer holds a copy so that it gets the correct message size after marshaling.

> failover ConnectionStateTracker can lead to OOM with TextMessages
> -----------------------------------------------------------------
>                 Key: AMQ-3352
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: JMS client
>    Affects Versions: 5.5.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: OOM, jmsclient, textmessage
>             Fix For: 5.6.0
> With a reasonable large textmessage, the connection state tracker, which keeps an LRU
cache of messages for redelivery on failover, can grow. The problem is the use of message
size, which is approximated before marshaling. The approximation is > the encoded size
so the size increments on a track back are larger than the decrements on a track, which lease
to growth in the number of messages cached and can lead to an OOM.
> The fix appears to be to not cache a copy of the message, such that the increment when
the message is evicted will reflect the decrement after marshaling. 
> The change that exposed this issue is
- without that change the state tracker capacity would shrink.

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message