-
Describe the bugQuarkus devservices automatically starts a RabbitMQ container during tests (via testcontainers). Intermittently the docker container will not finish starting up. Seemingly it just randomly stops. It's been hard to "catch" this failure because it is truly intermittent but I've finally managed to capture the log output for a "stalled start". Here is the log, there are no discernible errors and just abruptly stops.
I've left the docker container running for 15 minutes or so and it just stays in this stalled state. Quarkus is currently defaults to the 3.9 series (I've file a PR to update to the 3.12 series) but our project has been using 3.10 for a while and this still happens. Additional details: Reproduction steps
Expected behaviorRabbitMQ finishes startup every time. Additional contextNo response |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 15 replies
-
This is almost certainly not a bug in RabbitMQ, and probably not a bug in the docker image.
Are you doing this as part of "Quarkus devservices" or on your own? How exactly is the container being pulled and started? |
Beta Was this translation helpful? Give feedback.
-
Quarkus uses Testcontainers to start external services for testing. It uses the Docker API to pull and start containers. The container happens to still be in a "stalled state" on my machine if there is some debug that can happen. As stated 9/10 times it starts properly and quite fast. Just intermittently it doesn't. This is the only container we have an issues with as part of our automated testing. Including Postgres, Redis, Vault, localstack, jaeger, etc; and they are all started via Testcontainers. So it's definitely something unique to the RabbitMQ container. |
Beta Was this translation helpful? Give feedback.
-
I've tried cURLing the management port (and event the AMQP) of a container exhibiting this and neither response with any data
|
Beta Was this translation helpful? Give feedback.
-
How many nodes does this cluster have? If it's more than one, see Restarting Cluster Nodes. While this may use Docker Swarm or something other than Kubernetes, the readiness probe part in the Cluster Formation guide is highly relevant. RabbitMQ 3.9 is out of support (the node boot banner states as much), so we'd only investigate if there is a set of steps to reproduce with 3.12. |
Beta Was this translation helpful? Give feedback.
-
To reason about what is going on during boot, enabling debug logging is a good idea. |
Beta Was this translation helpful? Give feedback.
I decided to bump to 3.12 (in expectation of the coming update to Quarkus) and it runs fine. It seems to be something specifically with 3.9 & 3.10.
I added a counter to the script output it ran to well around 500 restarts with no problem; so it seems whatever the issue is has been remedied.
Just for posterity, I am going to enable debug logging and see if I get more information; on the off chance the it could be informative or the issue reappears.