activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arthur Naseef (Commented) (JIRA)" <>
Subject [jira] [Commented] (AMQ-3324), and Topics don't get removed when the originating tempQueue, Queue or Topic is removed so is somewhat a memory leak
Date Mon, 10 Oct 2011 18:06:30 GMT


Arthur Naseef commented on AMQ-3324:

We have {{gcInactiveDestinations=true}} and still see this problem.

The entire sequence of events is unclear, but it appears to be related to the network of brokers
awhen producers and consumers are on different brokers.  It may also be related to failover;
when we see a broker failover (even one not involved in the flow of the destinations), traffic
on {{ActiveMQ.Advisory.TempTopic}} jumps.

Note that messages on the {{ActiveMQ.Advisory.TempTopic}} appear to cause the destinations
to be re-created as they are unmarshalled by the protocol.  That seems problematic to me -
especially for temporary destinations which need to get attached to a connection.

I'll try to produce a test case.

*Dreaming:* I really wish I knew a way to see the sequence of all of the broker internal activity
for a specific destination across the network of brokers.  Or, better yet, a way to capture
that information and review it later since the specific destination involved may not be known
until after the fact.
>, and Topics
don't get removed when the originating tempQueue, Queue or Topic is removed so is somewhat
a memory leak
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>                 Key: AMQ-3324
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.4.2, 5.5.0
>            Reporter: Marcel Casado
>            Priority: Minor
>         Attachments:,,,
amq_no_queue_yet.tiff, amq_test_queue_advisories_created_after_sent_message_to_queue.tiff,
amq_test_queue_created.tiff, amq_test_queue_removed_but_advisory_mesage_delivered_not.tiff
> Seems like support for removing some Advisories topics when their originating queue,
topic, tempQueue or tempTopic is removed has not been provided.
> In :
>     public void removeAdvisoryTopics(String destinationType, ConnectionContext context,
ActiveMQDestination destination, long timeout) throws Exception {
>         if (this.brokerService.isAdvisorySupport()) {
>             String producerAdvisoryTopic = AdvisorySupport.PRODUCER_ADVISORY_TOPIC_PREFIX
+ destinationType + destination.getPhysicalName();
>             String consumerAdvisoryTopic = AdvisorySupport.CONSUMER_ADVISORY_TOPIC_PREFIX
+ destinationType + destination.getPhysicalName();
>             ActiveMQDestination dests[] = getDestinations();
>             for (ActiveMQDestination dest: dests) {
>                 String name = dest.getPhysicalName();
>                 if ( name.equals(producerAdvisoryTopic) || name.equals(consumerAdvisoryTopic)
) {
>                     try {
>                         removeDestination(context, dest, timeout);
>                     } catch (JMSException ignore) {
>                         // at least ignore the Unknown Destination Type JMSException
>                     }
>                 }
>             }
>         }
>     }
>    Seem like PRODUCER_ADVISORY_TOPIC and CONSUMER_ADVISORY_TOPIC topics are the only
advisories removed when originating destination is removed. Most advisories when enabled in
the policy do not get removed. 

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