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 <[email protected]>
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!
>
>