On Sun, Feb 1, 2015 at 8:22 PM, artnaseef <a...@artnaseef.com> wrote:
> Something has me confused here. If there is a consumer, why would messages > sit around unconsumed? > > If you want a queue to GC, you have to close any consumers on it. So lets say the queue has been idle , with no messages, for 60 seconds. at 61 seconds you close it. at 62 seconds a new message comes in from a straggler. Now that message sits around forever because there’s no way to no its there and no way to have the queue GC itself. > Also, I have trouble understanding why one would want the broker to remove > a > destination while it has a consumer -- Because of the above race … there’s no way to GC a queue and risk a message coming in due to this race. By allowing broker to GC the queue with a consumer attached you avoid this problem. > what is the consumer doing with the > destination then, and what is expected to happen to the consumer? > The consumer should just allow itself to stay connected. One problem is that I had THOUGHT that you could create a consumer to a nonexistent queue, but I was wrong. The queue is automatically created. I had thought you had to write a message to it first but I was wrong. > > Also, if messages are sitting in a queue, the queue cannot be GC'ed - > otherwise the broker is losing messages. A good solution there may be the > use of message TTLs. > Well this is a problem too because then messages get lost. > BTW, it sounds like the application may have a consumer leak. Consumers > can > be thought of as the center of purpose for a destination. So my issue is the situation where you have a wide number of queues. My application is generally working FINE but I have too problems: 1. AMQ memory grows VERY high with large numbers of queues. 2. BULK Queue GC when I restart my daemons causes AMQ to come to a complete halt for 30 minutes or more. 3. I can’t release these queues to become GCd because to the race above. So right now if AMQ could close inactive queues I would be set. ANOTHER idea is some sort of Advisory queue message like “this queue is now active again” … so if a straggler message comes in you can open another consumer and consume the queue again. -- Founder/CEO Spinn3r.com Location: *San Francisco, CA* blog: http://burtonator.wordpress.com … or check out my Google+ profile <https://plus.google.com/102718274791889610666/posts> <http://spinn3r.com>