Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-792

[AMQ7, OpenWire, ActiveMQ.Advisory.TempQueue] address for advisory TempQueue has the potential to become very large

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • AMQ 7.0.2.GA
    • None
    • None
    • Hide

      Tested workaround;

      • stop the openwire clients from observing the advisory queues by setting the client side connection url param jms.watchTopicAdvisories=false. This will avoid the ActiveMQ.Advisory.TempQueue from being created.

      Impact of setting jms.watchTopicAdvisories=false; The client side connections keep a cache of temp queues so that they can avoid a remote call to check if a specific temp queue exists. However this is just an optimisation. Setting it to false may result in some more calls between broker and client in certain scenarios but will not impact functionality.

      Show
      Tested workaround; stop the openwire clients from observing the advisory queues by setting the client side connection url param jms.watchTopicAdvisories=false. This will avoid the ActiveMQ.Advisory.TempQueue from being created. Impact of setting jms.watchTopicAdvisories=false; The client side connections keep a cache of temp queues so that they can avoid a remote call to check if a specific temp queue exists. However this is just an optimisation. Setting it to false may result in some more calls between broker and client in certain scenarios but will not impact functionality.
    • Hide

      I will try to attach a unit test later

      the basic steps :

      • create 20 openwire connections.
      • create another openwire connection that is constantly creating/removing temp queues
      • monitor the number of messages grow in JMX for address ActiveMQ.Advisory.TempQueue
      Show
      I will try to attach a unit test later the basic steps : create 20 openwire connections. create another openwire connection that is constantly creating/removing temp queues monitor the number of messages grow in JMX for address ActiveMQ.Advisory.TempQueue
    • AMQ Broker 7.1 Sprint 2

    Description

      By default, every openwire connection will create a queue under the multicast address ActiveMQ.Advisory.TempQueue. If a openwire client is create temporary queues these queues will fill up with messages for as long as the associated openwire connection is alive. It appears these messages do not get consumed from the queues.

      So for many long lived connections the address ActiveMQ.Advisory.TempQueue can become very large which results in unnecessary paging and broker work.

      NOTE: when the openwire connections are closed then the queues under ActiveMQ.Advisory.TempQueue will be cleared away .

      Attachments

        Issue Links

          Activity

            People

              gaohoward Howard Gao
              rhn-support-pfox Patrick Fox (Inactive)
              Andy Taylor Andy Taylor
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: