activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manuel Teira (JIRA)" <>
Subject [jira] Created: (AMQ-1322) AdvisoryBroker leaks destinations created "from top" by the RegionBroker
Date Fri, 13 Jul 2007 12:50:45 GMT
AdvisoryBroker leaks destinations created "from top" by the RegionBroker

                 Key: AMQ-1322
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 4.1.1, 5.x
         Environment: activemq svn branch 4.1
            Reporter: Manuel Teira
         Attachments: AdvisoryBroker.patch

Consider the following situation:
 - The AdvisoryBroker sends a message to a non existent yet advisory topic. (a producer advisory,
for example).
 - The RegionBroker sends the request to the TopicRegion.
 - The TopicRegion automatically creates the new topic, sending:
    context.getBroker().addDestination(context,  destination);
- This eventually reaches again the AdvisoryBroker that adds the destination to its destination

Now, when the queue that triggered the creation of the advisory topic is deleted, the AdvisoryBroker
attempts to delete the consumer and producer related topics, but doesn't clear them from its
own destination map.

I'm attaching a proposed fix for the 4.1 branch, where:

- The AdvisoryBroker tries to delete those producer and consumer advisories from top of the
- This is only made if the incoming destination is not a temporary itself, to avoid improper
attempts to delete advisories of advisories.

In the trunk , the situation is different. 
- The TopicRegion (actually in AbstracRegion code) creates the 'on demand' topics internally,
without advising the RegionBroker.
- So, since the RegionBroker is not aware of these newly created topics, AdvisoryBroker attempts
to delete the producer and consumer advisory topics are futile.

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

View raw message