All consumers continue to receive messages. 

My first and biggest question is whether this JMX counter evolution makes 
sense? Is there any possibility of expired messages counting towards in flight 
messages?

I am worried that internal data structures may not be released, which will lead 
either to an OOM condition or to the JVM experiencing full GCs continuously 
should the situation continue for a long time. In fact this has happened during 
my tests. Heap usage keeps increasing over several hours, it is then exhausted 
and the JVM starts to run full GC cycles continuously.

Vasco

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Tim Bain
Sent: sexta-feira, 20 de janeiro de 2017 13:49
To: ActiveMQ Users <[email protected]>
Subject: Re: Expired non-persistent messages on topic appear to not be discarded

Are your slow consumers still receiving messages properly when this happens?  
Are there any indications that this is a "real" problem rather than just a bug 
in the JMX counters?

Tim

On Jan 19, 2017 8:38 AM, "Veloso, Vasco (Coriant - PT/Lisbon)" < 
[email protected]> wrote:

> Hello,
>
>
>
> I’m using ActiveMQ 5.14.3 to test and try to find a suitable 
> configuration for a scenario where we have multiple producers and 
> multiple consumers of a topic, non-durable, in which some consumers 
> may be quite slow. Also, some messages have TTL defined and others do not.
>
>
>
> By looking at the JMX counters for the topic, InFlightCount remains 
> stable at the prefetch value for consumers. However once messages 
> begin to expire, it looks like they are not discarded:
>
>
>
> ·         ExpiredCount starts to increase as messages time out;
>
> ·         InFlightCount starts to increase at the same rate as
> ExpiredCount.
>
>
>
> JMX counters for slow consumers follow the same pattern. They remain 
> stable until messages begin to expire: MessageCountAwaitingAcknowledge 
> remains near PrefetchSize. When messages expire then 
> MessageCountAwaitingAcknowledge starts to increase as well.
>
>
>
> These counters will never decrease or stabilize as long as there are 
> messages being produced.
>
>
>
> I tried many settings but I still don’t understand what is going on. 
> It appears as if expired messages are forwarded to consumers or expire 
> on consumers? However for this test the broker, producers and 
> consumers are on the same machine so there is no clock drift. And if 
> messages would expire on consumers, wouldn’t they be dropped from the topic 
> as well?
>
>
>
> My broker configuration and test producer/consumer code is attached 
> for your reference.
>
>
>
> I hope that someone can shed some light on this matter, since I can’t 
> make heads or tails of it at this time.
>
>
>
> Thanks!
>
>
>
> Vasco Veloso
>
>
>

Reply via email to