activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Burton (JIRA)" <>
Subject [jira] [Created] (AMQ-5557) GC of inactive queues should happen even if consumers > 0
Date Sun, 01 Feb 2015 23:53:34 GMT
Kevin Burton created AMQ-5557:

             Summary: GC of inactive queues should happen even if consumers > 0 
                 Key: AMQ-5557
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.10.1
            Reporter: Kevin Burton

In my app we use lots of ephemeral queues which are active for a while, and then become inactive.

Queue GC is very important for us.

Right now , there is no safe way to use queue GC in this scenario if any future messages could
come into the queue.  Even if there's a low probability of this happening.

Ideally the way this would work is if the queue is empty, and nothing is written to it for
the inactiveTimoutBeforeGC interval than it is GCd... regardless of the number of consumers
and producers.

If producers/consumers WANT to disconnect, they can listen to advisory messages that the queue
has been GCd and then disconnect when the advisory message says that the queue has been destroyed.

Trying to emulate this by disconnecting yields tons of potential race bugs.

For example, if you have a 60 second window, and you have no messages written, so you close
your consumer, it's totally possible that 1 message comes in 1ms after you disconnect.

You would have no way of knowing this.  This message would stay there, not consumed , forever.

This message was sent by Atlassian JIRA

View raw message