I tried to google either it is known problem but was not able to find
my exact scenario.
So let me know if it is known issue or I should enter jira issue.

When you "purge" queue from web admin console, it zeroes queue message
counter. But if you have an active consumer at that time which
pre-fetched messages than your consumer will keep sending ack as it
process messages from its buffer. ActiveMQ will keep decrement counter
upon receiving each ack. So when consumer is done queue will show
MINUS<consumer buffer size>.

Steps to reproduce.
1. Create a queue and send 100.000 messages into it.
2. Create a consumer with ClientAcknowledge and start consuming in a loop.
To be precise I used async consuming:
_consumer.Listener += new Apache.NMS.MessageListener(OnMessage);
3. Let consumer work for some time to make sure that its buffer is filled.
4. From web admin console "purge" the queue.
5. When purge is done, observe that queue message counter keeps
decrementing as consumer consume messages.
6. Notice that decrementing stops at around 1K, when consumer is done
with messages which were remaining in its buffer.

ActiveMQ v-5.1.0;
windows xp Pro 64 edition
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

Vadim.

-- 
>From RFC 2631: In ASN.1, EXPLICIT tagging is implicit unless IMPLICIT
is explicitly specified

Reply via email to