I just ran your reproducer for 10 minutes sending 2,000 messages per second using ActiveMQ Artemis 2.33.0. Everything worked fine.
Here's the output from your reproducer: $ dotnet run Enter the test duration in seconds: 600 Enter the number of messages to send per second: 2000 Starting test... Sending messages... Finished sending messages. Messages sent: 1200000. Waiting some time for all messages to expire. Test completed. Expired messages received: 1200000 Here's the output of the "queue stat" command: $ ./artemis queue stat Connection brokerURL = tcp://localhost:61616 |NAME |ADDRESS |CONSUMER_COUNT|MESSAGE_COUNT|MESSAGES_ADDED|DELIVERING_COUNT|MESSAGES_ACKED|SCHEDULED_COUNT|ROUTING_TYPE| |DLQ |DLQ |0 |0 |0 |0 |0 |0 |ANYCAST | |ExpiryQueue |ExpiryQueue |0 |0 |1200000 |0 |1200000 |0 |ANYCAST | |MyQueue |MyQueue |0 |0 |1200000 |0 |0 |0 |ANYCAST | In order to investigate further I need a way to reproduce what you're seeing. Justin On Tue, Apr 9, 2024 at 8:31 AM rusu ionut <ionut_rusu_2...@yahoo.ro.invalid> wrote: > Hello Justin, > I've tested on my side and the messages are not moved to expiry queue. I > suspect that in your case you didn't reproduces the problem. You just > closed the tester/reproducer before all the messages are expired.In my case > I can reproduce the problem when I run the test for a longer period (10 > minutes). > Here is my result of artemis queue stat: > |NAME |ADDRESS > |CONSUMER_COUNT|MESSAGE_COUNT|MESSAGES_ADDED|DELIVERING_COUNT|MESSAGES_ACKED|SCHEDULED_COUNT|ROUTING_TYPE||LIVE_QUEUE > |SDL |0 |2000 > |1200000 |2000 |0 |0 |MULTICAST > ||SDL_EXPIRY_QUEUE |SDL_EXPIRY |1 |0 > |1198000 |0 |1198000 |0 > |ANYCAST | > Maybe this result will not be formatted correctly (sorry about that). But > I have 2000 messages that I cannot read and they are not moved to expiry > queue (I waited 24h and nothing changed). > Let me know if you need other information. > Thank you! > >