[Questions] In very rare cases topic routing does not work on RabbitMQ 4.2 #15602
Unanswered
gomoripeti
asked this question in
Questions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Community Support Policy
RabbitMQ version used
4.2.2
Erlang version used
28.3.x
Operating system (distribution) used
Linux
How is RabbitMQ deployed?
Debian package
rabbitmq-diagnostics status output
See https://www.rabbitmq.com/docs/cli to learn how to use rabbitmq-diagnostics
Details
Logs from node 1 (with sensitive values edited out)
See https://www.rabbitmq.com/docs/logging to learn how to collect logs
Details
Logs from node 2 (if applicable, with sensitive values edited out)
See https://www.rabbitmq.com/docs/logging to learn how to collect logs
Details
Logs from node 3 (if applicable, with sensitive values edited out)
See https://www.rabbitmq.com/docs/logging to learn how to collect logs
Details
rabbitmq.conf
See https://www.rabbitmq.com/docs/configure#config-location to learn how to find rabbitmq.conf file location
Details
Steps to deploy RabbitMQ cluster
_
Steps to reproduce the behavior in question
would be hard to reproduce such a rare race condition
advanced.config
Application code
Details
# PASTE CODE HERE, BETWEEN BACKTICKSKubernetes deployment file
Details
What problem are you trying to solve?
We've noticed that after an upgrade to 4.2.2 or creating a new 4.2.2 cluster in very rare cases topic routing did not work at all. That is publishing to any topic exchange failed, logging:
Internally this turned out because
Some relevant logs from broker startup
Exchange logging is enabled on the server. Based on the Pid
<0.214.0>I suspect there is a race condition between registering the topic exchange type in a boot step and logging via the log exchange.As it happened on 4.2.2 for us I don't know the exact versions affected but could be related to #14804. It might make it possible to log via the log exchange earlier in the RabbitMQ startup process than before. I don't know if a newer change in exchange logging in 4.2.4 #15331 has any effect on the behaviour (it might have as it declares the log exchange in a boot step after
core_initialized, which is hopefully after exchange types are registered.)Beta Was this translation helpful? Give feedback.
All reactions