You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2011/08/26 21:29:29 UTC
[jira] [Commented] (AMQ-3324)
ActiveMQ.Advisory.xxxxxx.TempQueue.xxx, AMQ.A.xxx.Queue.xxx and
AMQ.A.xxx.Topic.xxx Topics don't get removed when the originating
tempQueue, Queue or Topic is removed so is somewhat a memory leak
[ https://issues.apache.org/jira/browse/AMQ-3324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13091970#comment-13091970 ]
Timothy Bish commented on AMQ-3324:
-----------------------------------
Is it possible for you to include your fixes as a patch file, and ensure that you check the grant license to apache when you upload it, your current submissions don't have the lic grant.
> ActiveMQ.Advisory.xxxxxx.TempQueue.xxx, AMQ.A.xxx.Queue.xxx and AMQ.A.xxx.Topic.xxx Topics don't get removed when the originating tempQueue, Queue or Topic is removed so is somewhat a memory leak
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-3324
> URL: https://issues.apache.org/jira/browse/AMQ-3324
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.4.2, 5.5.0
> Reporter: Marcel Casado
> Priority: Minor
> Attachments: AdvisorySupport.java, AdvisoryTempDestinationTests.java, RegionBroker.java, 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 RegionBroker.java :
> 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.
For more information on JIRA, see: http://www.atlassian.com/software/jira