ActiveMQ
  1. ActiveMQ
  2. AMQ-2657

temp-queue - no producer, no consumer -> messagecount

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.3.1
    • Fix Version/s: 5.6.0
    • Component/s: Broker
    • Labels:
      None

      Description

      HI,

      I tried the latest snapshot 12.03.2010, several producers and consumers. No matter what I change in activemq.xml file I always end up with memorylimit and broker is "frozen". However today I found one really strange thing. Maybe this is something wrong with what JMX says but: several temp-queues with ConsumerCount=0, ProducerCount=0 but EnqueueCount was getting up and up and Dequeue was 0 all the time . This way MemoryPercentageUsage got to 100% and AMQ said again something like this:

      2010-03-16 15:02:28,455 | INFO | Usage Manager Memory Limit reached on temp-queue://e0499daa-604e-227c-57c5-8a700a83d690:0. Producers will be throttled to the rate at which messages are removed from this destination to prevent flooding it. See http://activemq.apache.org/producer-flow-control.html for more info | org.apache.activemq.broker.region.Queue | ActiveMQ Transport: tcp:///127.0.0.1:46737

      My config file is attached. All producers and consumers use CMS -3.0.1. and 3.1.1.

      1. activemq.xml
        5 kB
        Marcin Giedz
      2. jms1.png
        133 kB
        Marcin Giedz
      3. jms2.png
        104 kB
        Marcin Giedz
      4. jms3.png
        56 kB
        Marcin Giedz

        Activity

        Hide
        Marcin Giedz added a comment -

        My configuration file

        Show
        Marcin Giedz added a comment - My configuration file
        Hide
        Marcin Giedz added a comment -

        Some screenshots from todays testing. There was one temp-queue without Consumer and Producer but with EnqueueCount counting. I had to do Purge on this queue from time to time - and memory was released.

        Show
        Marcin Giedz added a comment - Some screenshots from todays testing. There was one temp-queue without Consumer and Producer but with EnqueueCount counting. I had to do Purge on this queue from time to time - and memory was released.
        Hide
        Marcin Giedz added a comment -

        Hi It's me again... I found I think which can be helpful... Today I had network problem with my one of my ISPs. So for about 20sec all clients connected via AMQ lost connection. After that time they had to reconnect although temp-queues kept "safe" in AMQ and now I have to purge them every 10-20 minutes to not get "memory exhausted" on temp-queue.

        Show
        Marcin Giedz added a comment - Hi It's me again... I found I think which can be helpful... Today I had network problem with my one of my ISPs. So for about 20sec all clients connected via AMQ lost connection. After that time they had to reconnect although temp-queues kept "safe" in AMQ and now I have to purge them every 10-20 minutes to not get "memory exhausted" on temp-queue.
        Hide
        Rob Davies added a comment -

        Downgrading this to a major bug. I can't reproduce it - would like to know if its possible to add an expiration to the messages.
        Also - in 5.4 is the option to garbage collect unused destinations- which may help.
        Do you know the types of messages being enqueued ?

        Show
        Rob Davies added a comment - Downgrading this to a major bug. I can't reproduce it - would like to know if its possible to add an expiration to the messages. Also - in 5.4 is the option to garbage collect unused destinations- which may help. Do you know the types of messages being enqueued ?
        Hide
        Marcin Giedz added a comment -

        Hi Rob,

        First of all I didn't get any notification regarding your comment so could react faster. But anyway...
        1. What's the option in 5.4 for garbage unused destinations ?
        2. Regarding messages types: well I'm not a programmer but we use AMQ for Order management System -> so we're sending "orders", "transactions" to and from exchanges. So rather text messages max 1k -> is there a way to "mirror" messages to so exactly what is being sent?
        3. We have now simple script in jruby to "clean" "unconnected" temp-queues" so in 5.3.2 there is still this problem. I can test 5.4 if there is some relevant change to provide latest update if you need?

        Show
        Marcin Giedz added a comment - Hi Rob, First of all I didn't get any notification regarding your comment so could react faster. But anyway... 1. What's the option in 5.4 for garbage unused destinations ? 2. Regarding messages types: well I'm not a programmer but we use AMQ for Order management System -> so we're sending "orders", "transactions" to and from exchanges. So rather text messages max 1k -> is there a way to "mirror" messages to so exactly what is being sent? 3. We have now simple script in jruby to "clean" "unconnected" temp-queues" so in 5.3.2 there is still this problem. I can test 5.4 if there is some relevant change to provide latest update if you need?
        Hide
        Timothy Bish added a comment -

        Use of the Inactive Destination Garbage Collection feature will resolve issues like this.

        Show
        Timothy Bish added a comment - Use of the Inactive Destination Garbage Collection feature will resolve issues like this.
        Hide
        Gary Tully added a comment -

        reopen to set fix version to 5.6

        Show
        Gary Tully added a comment - reopen to set fix version to 5.6
        Hide
        Gary Tully added a comment -

        closing again with correct fix version

        Show
        Gary Tully added a comment - closing again with correct fix version

          People

          • Assignee:
            Rob Davies
            Reporter:
            Marcin Giedz
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development