activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Veloso, Vasco (Coriant - PT/Lisbon)" <>
Subject Expired non-persistent messages on topic appear to not be discarded
Date Thu, 19 Jan 2017 15:37:29 GMT

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.


Vasco Veloso

View raw message