Hello folks,
We are writing here before opening an issue on github to confirm that what what see is a bug where a weird memory usage pattern is happening on our replica nodes for two specific queues.
Some basic info:
We use RabbitMQ 3.10.7, running on dedicated nodes in k8s with gp3 volumes and 16Gb available on the node with high watermark set to 12Gb.
We use the latest version of the rabbitmq library to push and consume objects.
The queues are classic, durable and with the following policy
ha-mode: exactly
ha-params:2
ha-sync-mode:automatic
These two queues have a message/rate that goes between ~20/s to ~50/s on average and no object is left on the queue, but instead consumed as soon as possible.
The problem:
What we see is that the replica nodes for these queues use quite a strange memory pattern, as you can see in these two screenshots, the memory on the replica node for one of the queues flatuates from 727Mb to 1.16Gb, back and forth, increasing with time. up to almost 6GB
rabbitmq-diagnostics list_queues -p mq-events name pid synchronised_slave_pids
event-view-demo.mq-event-store <rab...@rabbitmq-2.rabbitmq-headless.rabbitmq.svc.cluster.local.1661438942.823.0> [<rab...@rabbitmq-1.rabbitmq-headless.rabbitmq.svc.cluster.local.1661439220.17337.0>]
Here you see the memory usage from the last 3 days and you can notice a correlation between the free disk space and the memory available. It’s also evident that only the replica has this memory issue, not the master.
Do you know what can cause this weird behaviour where a lot of memory is used by a replica node for queues that have basically nothing on them?
Thanks
Alessio