[Questions] Understanding Quorum Queue Behavior #14744
Replies: 2 comments
-
|
Have you inspected the RabbitMQ server logs? That would be your first point of call. |
Beta Was this translation helpful? Give feedback.
-
|
@stephen7921 we do not guess in this community. You haven't shared any logs or code. You are running an outdated patch release that excludes a file descriptor leak in QQs that was fixed in
This is expected because all unconfirmed deliveries are automatically requeued
We cannot suggest anything specific without logs from all nodes. There is a known scenario where a QQ can end up without a leader in
We cannot know what your "application server" does or why. The aforementioned change in Opening a new connection to RabbitMQ means increasing the file (and socket) descriptor count, that's how network sockets work. I assume that can affect "application servers" (but I don't really know what exactly that means to you). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Community Support Policy
RabbitMQ version used
4.1.2
Erlang version used
27.3.x
Operating system (distribution) used
Ubuntu 22.04.5
How is RabbitMQ deployed?
Community Docker image
rabbitmq-diagnostics status output
See https://www.rabbitmq.com/docs/cli to learn how to use rabbitmq-diagnostics
Logs from node 1 (with sensitive values edited out)
See https://www.rabbitmq.com/docs/logging to learn how to collect logs
Logs from node 2 (if applicable, with sensitive values edited out)
See https://www.rabbitmq.com/docs/logging to learn how to collect logs
Logs from node 3 (if applicable, with sensitive values edited out)
See https://www.rabbitmq.com/docs/logging to learn how to collect logs
rabbitmq.conf
See https://www.rabbitmq.com/docs/configure#config-location to learn how to find rabbitmq.conf file location
Steps to deploy RabbitMQ cluster
We run RabbitMQ as a 3-node on AWS service
Steps to reproduce the behavior in question
Through RabbitMQ, over 150 messages (4K bytes, multiple segment files) per second are transmitted to a single queue.
Each queue has a lifecycle that includes creation, message transmission, and deletion, and during the service, there are more than 40 active queues at any given time. (In other words, RabbitMQ is processing more than over 6,000 messages per second.)
RabbitMQ is configured in a clustered environment on AWS, and the application server exists in the same region.
When using RabbitMQ version 3.10.X with the Classic Type (without HA), no specific issues were observed in the service.
However, starting from RabbitMQ version 4.X, the default queue type is set to Quorum, and the following abnormal phenomena have been observed:
(The application does not specify the queue type during creation, so it follows the default queue type.)
Symptoms:
RabbitMQ Log: missed heartbeats from client, timeout: 60s
advanced.config
See https://www.rabbitmq.com/docs/configure#config-location to learn how to find advanced.config file location
Application code
# PASTE CODE HERE, BETWEEN BACKTICKSKubernetes deployment file
What problem are you trying to solve?
While it is understood that Classic Queues are lighter in weight compared to Quorum Queues, these symptoms do not seem to be secondary effects caused by using Quorum Queues.
Could you explain why such phenomena might occur in Quorum Queues?
(If additional information is required, please let me know, but please understand that very detailed information cannot be disclosed.)
Beta Was this translation helpful? Give feedback.
All reactions